与minitest更好的差异

时间:2015-11-25 22:36:31

标签: ruby minitest

我正在查看我的测试用例结果,很难看出我的测试中的一个小故障来自何处。

我正在处理合理规模的数据结构 - 而且我不想更改to_s方法,以便 minitest 差异

我看过记者,但他们似乎没有像我想要的那样。 (我使用ruby 1.9.3)

minitest 或minitest的某些库是否可以突出显示两个结果之间不同的字符串部分? 或者是否有一些我缺少的东西可以让你更容易在视觉上看到差异?

编辑:示例

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似乎根据打印的线条显示差异。

1 个答案:

答案 0 :(得分:2)

pretty-diff

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