2016-08-29 5 views
0

私はHUnit-Plusからstack testを使っています。私はこれをDistribution.TestSuiteとすると信じています。HUnit-Plus/Distribution.TestSuite/stack testの失敗の行番号?

コンパイルエラーが発生すると、エラーのファイルパスと行番号が表示されます。エディタでエラーをクリックして関連するコードに直接ジャンプできるので、これは素晴らしいことです。

他の回そこには、コンパイルエラーがなく、代わりに、私はこのような出力が得られます。

### Failure in testFoo: expected: 8 

私が持っているすべての時間を手で関連試験にナビゲートするので、これは、それほど大きくはありません。また、アサーションが失敗していることが時々曖昧であり、アサーションにラベルを付けるために文字列を追加する必要があります。アサーションの内容を何らかの形で繰り返すだけなので、繰り返します。問題にならないライン番号で。

この設定でテストエラーの行番号とファイルパスを表示する方法はありますか?

答えて

1

コンパイルエラーは、私が知っている限り という行番号を与えるGHC自体によって生成されます。テストスイートにはこの機能がありません。 というのは本当に素晴らしいものです。私が非常に参考にしたのはhspec-expectations-pretty-diffです。これは良いdiff出力です ですが、行番号 がないので、ファイルパスと行番号も確認しました!

example output of hspec-expectations-pretty-diff

また、私はあなたのテストケースのための改善のためのいくつかの領域を参照してください - 通常、私のプロジェクトのテストケースは、テストを説明する文字列を持っている - ので、失敗したどのようなテストケースは稀曖昧です。また、これを生成するためにhaskellの全力を使うことができますString

+0

また、 'Test.HUnitPlus'よりも' Test.Hspec.Expectations'ではなく 'Test.Hspec'だけを使用すると、パス/行番号出力がより一般的です。私がすでにemacsで使っていたregexpはその出力を解析します:-) –

関連する問題