Предположим, у меня есть тест с использованием Xunit
, например:
module Tests
open System
open Xunit
let isSquare x =
let root = sqrt x
root % 1 = 0
[<Fact>]
let ``Various tests`` () =
let whitelist =
[
1
4
9
9481129 // Will trigger failure
16
25
]
for x in whitelist do
Assert.True (isSquare x)
let blacklist =
[
3
26
101
]
for x in blacklist do
Assert.False (isSquare x)
Когда я запускаю этот тест, сообщение об ошибке не очень полезно:
[xUnit.net 00:00:00.98] ... Error Message:
Assert.False() Failure
Expected: False
Actual: True
Stack Trace: ...
Это дает мне номер строки утверждения, но что я на самом деле хочу, это значение из x
там, где это не удалось.
В идеале что-то вроде этого:
Assertion failed for:
Assert.True (isSquare 9481129)
Возможно ли это сделать с Xunit
, даже с длинными или сгенерированными белыми / черными списками?
Моя текущая работа -around это добавить операторы печати, что не идеально.