我想在规范中运行HUnit测试:
module SHCSpec (spec)
where
import Test.Hspec
import Test.Hspec.Contrib.HUnit
import Test.HUnit
import SHC.Types
import SHC.Lix
spec :: Spec
spec = do
fromHUnitTest ("SHC.Lix" ~: "toHit" ~:
[ Irrelevant @=? toHit []
, None @=? toHit [False]
, None @=? toHit [False, False]
, Partial @=? toHit [False, True]
, Partial @=? toHit [True, False]
, Partial @=? toHit [False, False, True]
, Partial @=? toHit [False, True, False]
, Partial @=? toHit [True, False, False]
, Full @=? toHit [True]
, Full @=? toHit [True, True]
])上面的代码可以工作,但是它产生了这个丑陋的输出:
SHC
SHC.Lix
toHit
<unlabeled>
<unlabeled>
<unlabeled>
<unlabeled>
<unlabeled>
<unlabeled>
<unlabeled>
<unlabeled>
<unlabeled>
<unlabeled>是否可以将标签toHit附加到每个测试用例?就像这样:
SHC
SHC.Lix
toHit
toHit
toHit
toHit
toHit
toHit
toHit
toHit
toHit
toHit更好的做法是在每个toHit大小写中附加一个数字。我捣乱了TestList和map TestLabel,但都没有用。
发布于 2015-11-14 13:54:18
将标签附加到所有具有如下函数的测试如何:
label ts =
[ show i ~: t | (i,t) <- zip [(1::Int)..] ts ]只需在测试列表前加上对label的调用
spec :: Spec
spec = do
fromHUnitTest ("SHC.Lix" ~: "toHit" ~:
label
[ Irrelevant @=? toHit []
, None @=? toHit [False]
...https://stackoverflow.com/questions/33707030
复制相似问题