2015-12-30 88 views
0

我有一组代码,可以在我的所有测试方法中执行,例如登录代码。是否有可能最小化代码行并确保它在测试方法运行之前运行,例如归因于该方法。如果我们把它作为一些属性,那么它也应该带参数,想知道这是如何实现的。 Plmk。在方法开始之前执行代码

+0

的代码看起来是这样的: 使用(Browser.Initialize(MethodInfo.GetCurrentMethod()名称, “EN-US”)){ // 代码,重复约5线 //代码基于该变化on方法,约10行 Browser.Close(); } – user2837167

回答

1

在所有的单元测试框架中,有一个功能可以在测试前后执行通用代码。下面显示的NUnit的例子:

[TestFixture] 
public class TestFixtureLifetime 
{ 
    [SetUp] 
    public void BeforeTest() 
    { Console.WriteLine("BeforeTest"); } 

    [TearDown] 
    public void AfterTest() 
    { Console.WriteLine("AfterTest"); } 

    [Test] 
    public void Test1() 
    { Console.WriteLine("Test1"); } 

    [Test] 
    public void Test2() 
    { Console.WriteLine("Test2"); } 
} 

当这个类是跑,我们得到以下的输出:

BeforeTest 
Test1 
AfterTest 
BeforeTest 
Test2 
AfterTest 

此外,[Setup][Teardown]方法是可选的。我们可以根据需求混合和匹配他们的存在。

+0

感谢这个例子。我使用Selenium,并且在那里找不到TextFixture类。 – user2837167

+0

TestFixture是NUnit属性。你不使用任何测试框架来推动硒测试吗? – parishodak

相关问题