次のテスト出力を検討してください。
`
要約すると、Word文書はサポートされておらず、PDFはサポートされています。そのため、Word文書はすぐに拒否します。ただし、PDFの場合、テストが必要な手順は他にもたくさんあるので、それらを実行します。
問題は、PDFとまったく同じワークフローを持つテキストファイルもサポートしたいとします。私がテストしているコードは、基本的に次のようになります。
function uploadDocument(type, document) {
if (type !== "application/pdf" && type !== "text/plain") {
throw new UnsupportedMediaTypeError();
}
// do all the steps involving temp documents, hashing, ownership, etc.
}
私の質問は、これに対するテストをどのように構成できるかということです。「PDFをアップロードするとき」の下にあるツリー全体を「テキストファイルをアップロードするとき」として複製したくありません。
この問題に何度も遭遇したような気がします。ご覧のとおり、私はすでにいくつかの複製を行っています(「一時文書の削除は成功します」と「一時文書のコミットは成功します」の下のエントリは同じです)。
基本的に、これはシステムの複数の次元を変化させ、それらを組み合わせてテストするという問題です。誰かがそのようなテストをどのように構成するかを考えたに違いありません。