0

我试图让“Hello World”WatiN 示例使用 VS Express 2012 for Web、MVC4、WatiN 和 NUnit 工作。

但是,Visual Studio 似乎无法识别该测试。当我右键单击测试方法并单击“运行测试”时,除了重建(干净)之外什么都没有发生。“测试资源管理器”中绝不会出现任何内容。

集成测试代码为:

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using NUnit.Framework;
using WatiN.Core;

namespace FootyStatMVC1.Tests
{
    [TestFixture]
    [RequiresSTA]
    public class UnitTest1
    {
        [Test]
        public void TestMethod1()
        {

            IE ie = new IE("http://www.google.com");
            ie.TextField(Find.ByName("q")).TypeText("WatiN");
            ie.Button(Find.ByValue("Google Search")).Click();

        }
    }
}

我已经使用 nuget 安装了 NUnit 和 WatiN。我还添加了建议的配置代码

http://agilewarrior.wordpress.com/2010/07/02/getting-started-with-watin-nunit-and-mvc-net/

生成的配置文件名为 app.config,如下所示:

<configuration>
  <appSettings>
  </appSettings>
  <connectionStrings></connectionStrings>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

  <!-- MSM integration testing aug 31st-->
  <configSections>
    <sectionGroup name="NUnit">
      <section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/>
    </sectionGroup>

  </configSections>

  <NUnit>
    <TestRunner>
      <!-- Valid values are STA or MTA (Others are ignored) -->
      <add key="ApartmentState" value="STA" />
    </TestRunner>
  </NUnit>

</configuration>

为什么测试对 Visual Studio 不可见?

提前致谢!

4

1 回答 1

0

Visual Studio 2012 无法识别 NUnit 单元测试装置。它使用自己的微软测试框架,类似于 NUnit,但又不一样。

您使用的 Express 版本甚至无法识别 Microsoft 测试,因为 Express 版本中不包含测试运行程序。

最好的办法是在 Visual Studio 之外使用 NUnit 测试运行程序。

遗憾的是,所有其他插入 Visual Studio 2012 的测试运行程序都不能与 Visual Studio 2012 Express 一起使用,因为它也不允许插件。如果您希望在 Visual Studio 中使用众多集成测试运行器之一,则必须升级。

于 2013-09-02T12:30:33.183 回答