【问题标题】:Is it necessary to enable nullable context in unit tests?是否有必要在单元测试中启用可为空的上下文?
【发布时间】:2022-06-30 17:59:22
【问题描述】:

我有一个 Asp.net Core 6 Web Api 项目。

我正在尝试防止 NullReferenceException。

我已为所有项目添加了以下设置:

<Nullable>enable</Nullable>

我已修复代码库,但在单元和集成测试中收到警告:

    **viewModel**.Message.Should().Be("Aaaa");

viewModel 带有下划线表示可能的 null 引用。

我认为为单元测试启用此功能是没有用的。当你编写单元测试时,你设置了条件——所以你知道某些东西是否为空。

而不是放“!” (damnit) 操作符到处告诉编译器我确定它不为空,我相信我应该从测试项目中删除启用设置。

是否有人认为启用应该留在单元测试项目中的正当理由?

【问题讨论】:

    标签: c# unit-testing nullable


    【解决方案1】:

    我会&lt;Nullable&gt;disable&lt;/Nullable&gt; 单元测试项目。

    如果任何内容为空,我的偏好是单元测试失败,否则我可能会错过未按预期工作的代码路径。我认为单元测试应该在任何可以想象的时刻敲响警钟,因为我宁愿单元测试在我面前失败,而不是稍后我必须修复错误的生产错误。

    【讨论】:

      猜你喜欢
      • 2014-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-23
      • 2011-01-06
      • 2015-11-02
      相关资源
      最近更新 更多