【问题标题】:Weird behavior when running unit tests testing Fluentvalidation in NancyFx在 NancyFx 中运行单元测试测试 Fluentvalidation 时的奇怪行为
【发布时间】:2015-02-03 01:47:53
【问题描述】:

这些天我在我的单元测试套件中看到了一些奇怪的东西。

我在 NancyFX 中创建了一个 REST API。我最近开始使用 FluentValidation 实现一种新的验证方式。

我的测试套件目前有大约 1000 个测试,其中我现在有大约 10 个测试用于第一个 Fluent Validation。这就是它变得奇怪的地方。在我编写这些测试时,一切都很好。但是,当我运行整个测试套件时,所有 Fluent Validation 测试都失败了。

当我查看它告诉我的错误时:

"No model validator factory could be located. Please ensure that you have an appropriate validation package installed, such as one of the Nancy.Validation packages."

但是这些程序集是从我的测试库中引用的,当我自己运行测试时,它们工作正常并且是绿色的。

我使用 Resharper 测试运行器。 Thr 验证器是使用 BindAndValidate 调用的,我正在使用 nancy 测试浏览器调用端点。

下一个奇怪的行为是这些测试在 Team City 上运行良好。

我很茫然。我不知道为什么它不能解析那些程序集引用。

【问题讨论】:

    标签: c# unit-testing nancy fluentvalidation


    【解决方案1】:

    这里发生的事情是我有两个测试项目。一种用于集成测试,一种用于单元测试。显然,单元测试项目也实例化了一个测试浏览器对象。我不知道有人使用了浏览器对象并将集成测试放入单元测试项目中。

    单元测试项目在集成测试之前运行测试。由于单元测试项目没有对 FluentValidation DLL 的引用,因此 TinyIOC 容器没有选择验证类。单元测试项目没有调用任何 BindAndValidation 路径,所以这不是问题……但是一旦集成测试运行,它就成了问题。

    所以我看到的并不是真正的问题,而是一种症状。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-28
      • 2022-01-07
      • 1970-01-01
      • 1970-01-01
      • 2015-01-12
      • 2021-05-08
      • 2015-12-11
      相关资源
      最近更新 更多