大约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。
测试控制台输出:
测试专家:
答案 0 :(得分:1)
大约2天后终于解决了我的问题。
有些DLL依赖项是那些Visual Studio不能注意到的,并且没有向我显示任何警告或错误。 Dependency Walker帮助我找到了DLL的那些依赖项。
那么我又学到了什么? Visual Studio可能有故障,有时甚至不是很聪明。
答案 1 :(得分:0)
您可以尝试this,我可能会解决您的问题。
此外,您还可以在NUnit的最新版本中将ExpectedExceptionAttribute属性更改为this(或注释中的其他示例),或仅使用以下断言:
Assert.Throws<Exception>(() =>
{
// Test Code
});
答案 2 :(得分:0)
为我解决的是:
运行测试。