【发布时间】:2013-07-02 16:39:50
【问题描述】:
我正在为 ASP.NET MVC Web 应用程序编写编码的 UI 测试。我正在使用 Visual Studio 2012。
基本上我有一堆测试方法如下:
我使用有序的测试文件按我想要的顺序一次运行所有这些文件。
问题在于测试的工作方式是,如果一个测试失败,它会在输出中被标记为 ref/failed,如果我再次运行它,通常测试会起作用。 我希望能够将我的有序测试设置为运行,如果测试方法失败,它将自动尝试再次运行该测试方法。
我该怎么做?我正在考虑在每个测试方法的末尾添加一个if 语句,例如:
if(TestFailed) {
RecallTest();
}
我会使用某种计数器,但是如何在编码的 UI 测试中编写以上内容?
【问题讨论】:
-
当测试失败时,它通常会给出什么错误?如果问题在于您的测试(例如在呈现控件之前尝试与控件交互的测试),您最好修改测试以使其更可靠,而不仅仅是重新运行。这样您就不会掩盖任何真正的错误。
-
测试非常可靠,只是偶尔会出现超时错误或类似的情况,它只是一个冒烟测试,所以我不担心这种错误,但如果测试会通过我再次运行它。
-
在问题中你说测试不可靠,因为它有时会失败。您描述的是应用程序或测试套件中的错误。当真正的用户(付费客户)使用应用程序时,忽略错误、隐藏错误并希望它消失会导致错误再次出现。
-
这只是一个初步的冒烟测试,用于测试网站的基础知识,将在进一步测试中寻找更小的错误
标签: asp.net-mvc visual-studio coded-ui-tests automated-tests