即使被迫失败,F#中的预期测试也总是通过



我正在尝试在我们的测试项目中启动并运行期望。

尽管它编译并运行良好,但我只想确保它确实有效。所以我给了一个失败的案例,它通过了。

我在这里想念一些愚蠢的东西吗?

我的测试设置

let tests =
    testList "Test Group" [
        test "Testing fail test" {
           let result = false
           Expecto.Expect.isTrue result 
        }
    ]
let runTests args =
  runTestsWithArgs defaultConfig args tests

从测试中输出

[08:52:06 INF] EXPECTO? Running tests...
[08:52:06 INF] EXPECTO! 1 tests run in 00:00:00.0569286 – 1 passed, 0 ignored, 0 failed, 0 errored. ᕙ໒( ˵ ಠ ╭͜ʖ╮ ಠೃ ˵ )७ᕗ

所有 Expecto.Expect函数在末尾采用字符串参数,这是要在失败时打印的消息。您没有提供该参数,因此您的Expecto.Expect.isTrue result表达式具有string -> unit类型:它实际上尚未称为isTrue。(您应该在IDE中看到该表达式下的绿色波浪线,说该值被忽略了(。在您的呼叫中添加一个字符串,例如Expecto.Expect.isTrue result "should fail",然后您的测试会按应有的方式失败。

最新更新