关于ruby:使用minitest更好的差异

Better diffs with minitest

我正在查看测试用例的结果,很难知道测试中的一个小故障是从哪里来的。

我正在处理大小合理的数据结构-我不想更改to_s方法,因此对于最小差异比较好一些。

我看过记者,但他们似乎没有我想要的东西。 (我正在使用ruby 1.9.3)

有什么方法可以使minitest或某些minitest库突出显示两个结果之间不同的字符串部分吗?
还是我缺少的东西可以让您更轻松地从视觉上看差异?

编辑:示例

1
2
3
4
5
6
7
8
Minitest::Assertion:        
--- expected
+++ actual
    @@ -1 +1 @@

    -#<struct MyModule::Swipe id=0, lat=37.62996, lng=-122.42115, route=#<struct MyModule::Route id=17, bus_name="test_name", stops=[#<struct MyModule::Stop id=29, name="Cool Stop">]>, date_time="2015-10-29T11:05:02+00:00">

    +#<struct MyModule::Swipe id=0, lat=37.62996, lng=-122.42115, route=#<struct MyModule::Route id=17, bus_name="test_name", stops=[#<struct MyModule::Stop id="29", name="Cool Stop">]>, date_time="2015-10-29T11:05:02+00:00">

相反,

可以显示该行,并以另一种颜色突出显示id="29"id=29。 Minitest似乎根据打印的线条显示了差异。


漂亮差异

我遇到了同样的问题,并且在看不见空白字符的情况下,该gem仍然不足以进行调试。我最终在最小测试用例中为传给assert_equal的两个字符串中都添加了.inspect