我喜欢使用属性定义测试的选项。但是,我一定是做错了。我已经安装了包:
<packages>
<package id="AutoFixture" version="3.46.0" targetFramework="net451" />
<package id="AutoFixture.AutoNSubstitute" version="3.46.0" targetFramework="net451" />
<package id="AutoFixture.NUnit3" version="3.46.0" targetFramework="net451" />
<package id="NSubstitute" version="1.10.0.0" targetFramework="net451" />
<package id="NUnit" version="3.2.1" targetFramework="net451" />
</packages>
单个替代参数通过:
[Theory, AutoSubstituteData]
public void Test_Single([Substitute] Service svc)
{
// executed, shown as success
}
混合替换和其他一些值失败时:
[Theory, AutoSubstituteData]
public void Test_Mixed(int version, string name, [Substitute] IService svc)
{
// not executed, shown as inconclusive
}
属性:
public class AutoSubstituteDataAttribute : Ploeh.AutoFixture.NUnit3.AutoDataAttribute
{
public AutoSubstituteDataAttribute()
: base(new Fixture().Customize(new AutoConfiguredNSubstituteCustomization()))
{
}
}
测试输出说:
NUnit Adapter 3.0.10.0:测试执行完成
测试适配器发回一个未知测试用例的结果。忽略'Test_Mixed(150,“name04f0cd50-e89f-4a8f-db6-dab69b58e98e”,Castle.Proxies.IServiceProxy)'的结果。
如何在VS2015中或在NUnit 3x中使用它?
答案 0 :(得分:1)
(来自评论:)
这看起来像NUnit 3 Visual Studio测试适配器的问题。如果我使用NUnit 3命令行运行程序运行这些测试,它们都会运行并通过。