此刻,如果你這樣做:MINITEST:以編程方式訪問的名稱和時間的考驗了使用MINITEST時運行
bundle exec rake TESTOPTS='--verbose'
你得到這樣的輸出:
Text you typed in the describe#test_0001_test description = 0.11 s = .
Text you typed in the describe#test_0003_another test description = 0.10 s = .
...etc.
我想以編程方式訪問它,以便我可以選擇最慢的測試,按它們運行的時間對它們進行排序,並以任何我想要的格式將它們打印到標準輸出。理想情況下,我會爲此定義一個新的Rake任務,然後執行如下操作:
bundle exec rake mytask
什麼的。
但是,我似乎無法找到任何關於如何以編程方式訪問此信息的任何信息。我搜索了一些習慣性的記者,但顯然你必須爲此爲猴子打補丁,我不想那樣做。另一種選擇是安裝minitest-reporters
寶石,但我不想也不需要所有這些功能,我想要做的事情非常簡單。我也仔細閱讀了Minitest回購代碼中的代碼,但是如果我想創建自己的類,並且不知道要繼承什麼,以及要訪問哪些內容以便獲得運行時間和名稱考試。
有沒有辦法以編程方式訪問此信息?例如,一旦所有測試完成後,訪問minitest生成的報告?你如何做到這一點,那些寫自定義記者的人不需要寶石或猴子補丁?我覺得這應該是一件容易的事情。