ユニットテストで長時間のセットアップ文字列を使用するという意見、実践、推奨されるベストプラクティスに興味があります。ユニットテストと長時間のセットアップ文字列:スタイル/ベストプラクティス
テストをインラインで、テストの近くに、またはファイルのどこかに外部化することをお勧めしますか?
私は、単体テストに固有のテスト資産について述べていますので、setup()メソッドでの生活には必ずしも適していません。
私は両方の長所と短所を見ています - 私はできるだけテストに近いものをあなたのテストにとって重要なものにするファンですが、テスト方法では数行のストリングセットアップが素早くノーズになります。
例:ファイルから未使用のCSS宣言を削除するためのクイックパーサーを作成しています。私は特定の入力文字列を与えられたことをテストしたい、正しいテキストが削除されます。私のテストは、すべての文字列の連結で本当に騒がしくなっています。
public void removesStyleFromText()
{
StyleCleaner styleCleaner = new StyleCleaner();
String source = ".presentInFileOne {\r\n" +
"}\r\n" +
"\r\n" +
".presentInFileTwo {\r\n" +
" bottom-corners-rounded : false;\r\n" +
"}\r\n" +
".notUsed {\r\n" +
"}\r\n" +
"";
String actual = styleCleaner.removeDeclaration(source , "notUsed");
String expected = ".presentInFileOne {\r\n" +
"}\r\n" +
"\r\n" +
".presentInFileTwo {\r\n" +
" bottom-corners-rounded : false;\r\n" +
"}\r\n";
assertEquals(expected , actual);
}
この例を考えると、私は外部ファイルに予想/実績を外部化できましたが、それはまた、実際の試験のために何のように少し不明瞭なテストを行います。
思考?