如果测试有,那么SetUp和TearDown方法是否需要[RequiresSTA]?

时间:2013-07-11 07:25:55

标签: nunit resharper watin

我可以毫无问题地使用ReSharper运行我的WatiN测试。每个测试都有RequiresSTA属性,运行正常。

当我尝试在类中运行所有测试(TestFixture)时,我收到以下错误:

One or more child tests had errors
Exception doesn't have a stacktrace
<testname>  ignored: Invalid signature for SetUp or TearDown method: TestSetup
<testname>  ignored: Invalid signature for SetUp or TearDown method: TestSetup
<testname>  ignored: Invalid signature for SetUp or TearDown method: TestSetup

错误并不表示我需要更改以使其正常工作。

如果我然后选择在单元测试会话窗口中忽略的所有测试,我可以毫无问题地运行它们。

我必须更改什么才能让我在TestFixture中运行所有测试?

2 个答案:

答案 0 :(得分:20)

我遇到了同样的问题。我将SetUp()和TearDown()方法改为公开,然后就可以了。

答案 1 :(得分:0)

我总是在我的解决方案的App.config文件中设置公寓状态,NUnit GUI运行器按预期运行整个灯具。

App.config就像这样开始。

<?xml version="1.0"?>
<configuration>
  <configSections>
    <sectionGroup name="NUnit">
      <section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/>
    </sectionGroup>
  </configSections>
  <NUnit>
    <TestRunner>
      <!-- Valid values are STA,MTA. Others ignored. -->
      <add key="ApartmentState" value="STA"/>
    </TestRunner>
  </NUnit>
  <appSettings>
........

编辑:我使用的是Watin2.1和NUnit 2.5。