我正在查看我的测试用例结果,很难看出我的测试中的一个小失败来自哪里。
我正在处理合理大小的数据结构 - 我不想更改 to_s
方法,以便它对 minitest diff 稍微好一点。
我看过记者,但他们似乎没有我想要的东西。 (我使用 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 似乎根据打印的行显示差异。 最佳答案
pretty-diff
我遇到了同样的问题,如果出现不可见的空白字符,这个 gem 仍然不足以进行调试。我最终将 .inspect
添加到我在 minitest 测试用例中传递给 assert_equal
的两个字符串中。
关于ruby - 与 minitest 更好的差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33927634/