私はこの政治的/宗教的戦いに行き詰まっているように感じます. 私が行った調査から、多くの人が、UI テストは単体テストで行うのはばかげており、実際の人が行うほうがはるかに優れていると強く信じていることがわかりました。同意します。
ただし、上層部から UI の単体テストを行うように言われたようです。(実際のテストではなく、テスト計画を書くだけでよいと彼らが以前私に言ったので、これはすでに奇妙です)。正直なところ、私は単体テストにあまり詳しくありません。私はMOQを使用しようとしていますが、私が見つけたすべてのチュートリアルはサービスではなくリポジトリを使用しており、サービスを中心にWebアプリケーションを構築しています.
例として、サービス (の一部) を次に示します。
public class ProductService : Service<Product, EntitiesDbContext>
{
...
public Product GetProduct(int id)
{
return All().FirstOrDefault(p => p.ProductId == id);
}
...
}
たとえば、Moq を使用して新しい製品を作成し、誰かが私のモデルを使用してハードコードされた入力を検証する必要があると仮定します。これを行う方法がわかりません。
Web サイトはフォームを介したユーザー入力に大きく依存しているため、UI のテストは私の作業の大部分を占めています。私のモデルは非常に厳密で、特定の入力のみを許可するため、単体テストでテストするのは非常にばかげています。
私の質問: MOQ または別のテスト フレームワークを使用してフォーム入力をテストするにはどうすればよいですか? あなたの行動を追跡して複製できるプログラムがあると聞いたことがありますが、私はそれらを見つけることができませんでした。また、そのような技術にはお金がかかると思います.