C# NUnit UITest按彼此的顺序运行
问题: 我有一个带有NUnit框架的Xamarin.UITest项目设置。我知道使用[Test,Setup]可以让我在每次测试之前运行设置测试。我想知道是否有一种方法可以在每次测试之前运行我的[Test,Setup],然后在设置停止的确切页面上运行后续的测试 原因: 我有大约6或7个UITests测试应用程序中的特定页面。我正在尽量减少冗余,所以任何将我导航到该页面的自动化(我相信)都应该在单独的方法中完成一次;i、 e:设置方法C# NUnit UITest按彼此的顺序运行,c#,visual-studio,xamarin.forms,nunit,xamarin.uitest,C#,Visual Studio,Xamarin.forms,Nunit,Xamarin.uitest,问题: 我有一个带有NUnit框架的Xamarin.UITest项目设置。我知道使用[Test,Setup]可以让我在每次测试之前运行设置测试。我想知道是否有一种方法可以在每次测试之前运行我的[Test,Setup],然后在设置停止的确切页面上运行后续的测试 原因: 我有大约6或7个UITests测试应用程序中的特定页面。我正在尽量减少冗余,所以任何将我导航到该页面的自动化(我相信)都应该在单独的方法中完成一次;i、 e:设置方法 我已经搜索了S.O.和NUnit.org,我只是不知道如何做我的
我已经搜索了S.O.和NUnit.org,我只是不知道如何做我的具体要求。请让我知道!谢谢 您可以使用[OneTimeSetup]在类中的所有测试之前运行。 您可以使用[Setup]运行类中的每个测试。 您可以使用[TearDown]在类中的每个测试之后运行
[TestFixture]
public class Mytests
{
[OneTimeSetup]
public void ThisWillRunBeforeAllTests()
{ }
[Setup]
public void ThisWillRunBeforeEachTest()
{ }
[TearDown]
public void ThisWillRunAfterEachTest()
{ }
[Test]
public void ATest()
{ }
抱歉,需要第二个答案,但您似乎想:
public class MyTest
{
[Test]
public void Test1()
{
Setup1();
DoSomeTests();
}
[Test]
public void Test2()
{
Setup1();
Setup2();
DoSomeTests();
}
private void Setup1()
{
}
private void Setup2()
{
}
}
将按-test@PavelAnikhouski正当1.(设置->测试),2。(设置->测试),3。(设置->测试)。。。。每次测试开始时,它不会从设置停止的位置开始。我怎样才能做到这一点呢?看看吧。。。(一次性设置(1.(设置->测试->拆卸),2.(设置->测试->拆卸),3.(设置->测试->拆卸))。。。。每次测试开始时,它不会从设置停止的位置开始。我怎样才能做到你做不到的。单元测试不是这样工作的。如果您想要这种功能,只需使用一个[test]并从中调用每个子“test”。如果测试的任何部分失败,整个测试都会失败,但这可能正是你想要的,因为后续部分可能需要之前的一个(失败的)测试才能成功,所以它无论如何都不会工作。尼尔,这很有意义。事实上,这与我最初尝试时所做的非常相似——我只是不确定是否有“更好”的方法。谢谢你的详细解释。