如何指定测试程序集的文件夹?

时间:2013-06-20 06:17:18

标签: c# asp.net-mvc-3 unit-testing nunit

我在ASP.NET MVC3上有一个项目。我已经使用NUnit编写了单元测试,但他们的工作需要一个特定的文件夹。我被告知必须在web.config或app.config中指定测试程序集的文件夹的路径。任何人都可以帮助指出这种方式究竟在哪里吗?)

3 个答案:

答案 0 :(得分:0)

您尚未指定所使用的单元测试框架。如果您使用的是MSTest,则可以使用TestContext属性来获取执行测试的当前工作目录:

[TestClass]
public class SomeTests
{
    public TestContext TestContext { get; set; }

    [TestMethod]
    public void ATest()
    {
        string currentDirectory = TestContext.DeploymentDirectory;
        ...
    }
}

如果您想在某个位置部署初始文件集,可以使用[DeploymentItem]属性。

答案 1 :(得分:0)

在你的app.config文件中定义一个像这样的部分

    <appSettings>
       <add key="TestPath" value="Insert your path here..."/>
    </appSettings>

然后您可以通过

在代码中访问它
string filePath = ConfigurationManager.AppSettings["TestPath"].ToString();

答案 2 :(得分:0)

当您使用nUnit时,无需在web.config中定义工作目录,但在设置中。鉴于这种情况,你有自己的“测试项目”,你可以单独运行,我强烈建议你做以下的事情:

  

转到:项目 - &gt;设置 - &gt;调试
  检查:“启动外部程序”并引用nUnit TestRunner或GUI(您可以在安装目录中找到它)
  命令行参数指定项目编译到的dll。 (某事:MyProject.dll)
  作为工作目录,您必须指定项目的bin/{config}/文件夹。

此文件夹可能类似于:C:\Users\Geray Sunov\Projects\MyProject\bin\Debug\

如果您现在调试测试项目,nUnit testrunner应该打开,您只需单击“运行测试”