私は TDD を行うときに Assert.Fail をよく使用します。私は通常、一度に 1 つのテストに取り組んでいますが、後で実装したいもののアイデアが浮かんだら、すぐに空のテストを作成します。テスト メソッドの名前は、実装したいものを一種の todo リストとして示します。忘れないように、本体に Assert.Fail() を入れました。
xUnit.Net を試してみると、Assert.Fail が実装されていないことがわかりました。もちろん、いつでも Assert.IsTrue(false) を実行できますが、これも私の意図を伝えません。Assert.Fail は意図的に実装されていない印象を受けました。これは悪い習慣と見なされますか? もしそうなら、なぜですか?
@Martin Meredithそれはまさに私がしていることではありません。最初にテストを書いてから、それを機能させるコードを実装します。通常、一度にいくつかのテストを考えます。または、何か他の作業をしているときに書くテストについて考えます。そのとき、覚えておくために空の失敗したテストを書きます。テストを書き始める頃には、きちんとテストファーストで作業しています。
@Jimmehそれは良い考えのようです。無視されたテストは失敗しませんが、別のリストに表示されます。それを試してみる必要があります。
@Matt Howells 素晴らしいアイデア。この場合、NotImplementedException は assert.Fail() よりも意図をよく伝えます
@Mitch Wheatそれが私が探していたものです。別の方法で悪用されるのを防ぐために除外されたようです。