MyProject.dll中没有可用的测试,但是“测试资源管理器”显示了它们

时间:2019-02-12 09:18:36

标签: c# wpf nunit

大约4天前,我无法在我的项目中运行单元测试,我已经尝试了SO中现有的许多解决方案,但没有任何帮助。

  

Path \ To \ My \ TestProject.dll中没有可用的测试。确保   测试发现者和执行者已注册,平台和框架   版本设置合适,然后重试。

Test Explorer显示了我的测试,但无法运行它们。

顺便说一句。这些是 WPF C#项目

我有带有以下测试方法的测试类:

    [TestFixture]
    [Category("Something")]
    public class SomeTestClass
    {
        [Test]
        public void SomeMethodThatDoesntWork()
        {
            using (var ms = new MemoryStream())
            {
                System.Diagnostics.Debugger.Launch();
                Option savedOptions = new ....
...
  • 我的解决方案中有3个项目,每个项目的 Target框架是.NET 4.5.2 ,每个项目的 Platform Target是x64

  • NuGet软件包:NUnit 2.6.4和NUnit3TestAdapter 3.12.0。

NUnit 2.6.4,因为我有一些属性,例如ExpectedExceptionAttribute,这些属性已在较新的NUnit版本中删除。

我已经将Test \ Test Settings \ Default Processor Achitecture设置为x64,并尝试了x86。

测试控制台输出:

enter image description here

测试专家:

enter image description here

3 个答案:

答案 0 :(得分:1)

大约2天后终于解决了我的问题。

有些DLL依赖项是那些Visual Studio不能注意到的,并且没有向我显示任何警告或错误。 Dependency Walker帮助我找到了DLL的那些依赖项。

那么我又学到了什么? Visual Studio可能有故障,有时甚至不是很聪明。

答案 1 :(得分:0)

您可以尝试this,我可能会解决您的问题。

此外,您还可以在NUnit的最新版本中将ExpectedExceptionAttribute属性更改为this(或注释中的其他示例),或仅使用以下断言:

Assert.Throws<Exception>(() => 
{
    // Test Code
});

答案 2 :(得分:0)

为我解决的是:

  • 转到并选择 ->“测试”选项卡 -> 测试设置 -> 默认处理器架构 -> x64**

运行测试。