gpt4 book ai didi

c# - 为什么 ReSharper 8 测试运行程序会在此规范上崩溃?

转载 作者:太空宇宙 更新时间:2023-11-03 13:31:21 25 4
gpt4 key购买 nike

我有一组使用 MSpec 运行的测试。前两个运行正常,但是当我包括第三个测试时,测试运行器在运行任何测试之前崩溃并出现 NullReferenceException:

Because of = () => _result = Subject.GetReport(fooReportType);

It should_return_a_success = () => _result.Successful.ShouldBeTrue();
It should_return_something = () => _result.Data.ShouldNotBeNull();

// this test crashes
It should_return_a_concrete = _result.Data.ShouldBeOfType<IReportBase<BarChart>>;

我在运行:

  • VS 2013 版
  • ReSharper 版本 8.0.2000.2660
  • Machine.Specifications 0.5.16(根据 NuGet)

我已经尝试替换 ShouldBeOfType 中的类型与 ReportBase<BarChart>,接口(interface)的实现以及对ReportBase<BarChart>,的具体扩展结果都一样。

最佳答案

您必须小心使用 ReSharper,尤其是在调用测试运行程序时。它并不总是运行编译器,即使运行,它也可以使用一些愚蠢的、过时的影子副本。你会想要仔细检查你的语法......

It should_return_a_concrete = _result.Data.ShouldBeOfType<IReportBase<BarChart>>;

您缺少委托(delegate)分配,= () => ,以及 ShouldBeOfType<T>() 末尾的方法调用括号.

关于c# - 为什么 ReSharper 8 测试运行程序会在此规范上崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20427311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com