如何制作.dll并使用NUnit运行它?

时间:2014-09-28 16:19:57

标签: c# visual-studio unit-testing nunit visual-studio-express

我是Windows Store App编程的新手, 所以我也是Visual Studio Express的新手。

我的目标是测试simpple类方法。 如上所述here,Express版本没有任何内置单元测试。 在此thread中,Rafal提供了solution

我完全按照描述做了,所以我的外部工具看起来像这样:

enter image description here

当我执行它时(工具 - >"执行NUnit"),Nunit启动并出现NUnit的Gui。但突然发生这种异常:

enter image description here

在例外情况中:

System.IO.FileNotFoundException...

   at NUnit.Util.ProjectService.WrapAssembly(String assemblyPath)

   at NUnit.Util.ProjectService.ConvertFrom(String path)

   at NUnit.Util.ProjectService.LoadProject(String path)

   at NUnit.Util.TestLoader.LoadProject(String filePath, String configName)

我的项目文件夹具有以下结构:

enter image description here

测试类位于" WebTest.Shared"。

我认为我需要一个.dll来运行NUnit,如Jon here所述。 那么,如何从我的项目中创建一个用于运行NUnit的dll? 谁能引导我解决这个问题? (请一步一步)

修改

在我使用ChrisM的想法之后,异常stll出现时没有" $ {BinDir} $ {TargetName} .dll / run" block(异常详细信息与之前相同):

enter image description here

编辑第2号:

我设置了这些值:

标题:执行NUnit

命令: D:\ Path \ To \ NUnit \ bin \ nunit.exe

参数: $(BinDir)$(TargetDir)$(TargetExt)/ run

初始目录: $(BinDir)

编辑第3号:

关闭并重新打开VS Express后 我得到了这个新的例外: newException

在NUnit Exception Details中:

System.ApplicationException:无法在程序集中找到测试

... System.ApplicationException

编辑第4号

这是我的测试类(StringUtilitiesTest.cs):

using System;
using System.Collections.Generic;
using System.Text;
using WebappTest.Shared.Utilities;
using NUnit.Framework;

namespace WebappTest.UnitTest


{
    [TestFixture]
    public class StringUtilitiesTest
    {

        [Test]
        public void TransferFunds()
        {

            Assert.AreEqual("Hello", StringUtilites.getString("Hello"));

        }
    }
}

2 个答案:

答案 0 :(得分:0)

在外部工具中:

您是否尝试使用普通的()?

替换参数框中的花括号{}

答案 1 :(得分:0)

Visual Studio 2017 Express(最终版本)包括测试资源管理器。将NUnit3TestAdapter NuGet添加到您的项目中,测试资源管理器应该发现您的测试。