我已經爲您實施了@ Serabe的解決方案。見要點:https://gist.github.com/1142145。
將文件my_formatter.rb
放入您的spec文件夾並運行rspec --formatter MyFormatter
。格式化程序將比較當前運行結果和以前的運行結果,並將差異輸出爲表格。
注:格式化程序在當前文件夾中創建/覆蓋文件result.txt
。
實例:
D:\Projects\ZPersonal\equatable>rspec spec --format MyFormatter
..........
No changes since last run
Finished in 0.011 seconds
10 examples, 0 failures
No changes since last run
線由格式化加入。
現在我故意破過一次,然後重新運行rspec的:
D:\Projects\ZPersonal\equatable>rspec spec --format MyFormatter
..F.......
Affected tests (1).
PS CS Description
. F Equatable#== should be equal to the similar sock
PS - Previous Status
CS - Current Status
Failures:
1) Equatable#== should be equal to the similar sock
Failure/Error: subject.should == Sock.new(10, :black, 0)
expected: #<Sock:0x2fbb930 @size=10, @color=:black, @price=0>
got: #<Sock:0x2fbbae0 @size=10, @color=:black, @price=20> (using ==)
Diff:
@@ -1,2 +1,2 @@
-#<Sock:0x2fbb930 @color=:black, @price=0, @size=10>
+#<Sock:0x2fbbae0 @color=:black, @price=20, @size=10>
# ./spec/equatable_spec.rb:30:in `block (3 levels) in <top (required)>'
Finished in 0.008 seconds
10 examples, 1 failure
Failed examples:
rspec ./spec/equatable_spec.rb:29 # Equatable#== should be equal to the similar sock
被格式化增加與受影響的規格表:
Affected tests (1).
PS CS Description
. F Equatable#== should be equal to the similar sock
PS - Previous Status
CS - Current Status
如果某些規格的狀態是當前和以前的運行之間的不同,格式器輸出以前的狀態,當前狀態和規格說明。 ''代表通過的規格,'F'代表失敗,'P'代表未決。
代碼遠非完美,所以隨意批評和改變它,只要你想。
希望這會有所幫助。如果您有任何問題,請告訴我。
這就是我現在正在做的事情,但當文件太大時很難看到變化。 –