我有一堆函数,比如:method1
, method2
, method3
. 对于所有这些都有HUnit
测试功能,例如:testMethod1
, testMethod2
, testMethod3
.
testMethod1 = TestCase $
assertEqual "testmethod1" ...
testMethod2 = TestCase $
assertEqual "testmethod2" ...
testMethod3 = TestCase $
assertEqual "testmethod3" ...
我想避免将函数名称作为错误消息的前缀进行冗余复制,并将其称为:
testMethod1 = TestCase $
assertEqual_ ...
如何实现(赞赏任何“魔术”技巧)?
所以实际上的问题是如何在它的定义中使用函数名称?
更新。
从原始问题中实际上并不清楚,我也想处理这种情况:
tProcess = TestCase $ do
assertEqual "tProcess" testResult $ someTest
assertEqual "tProcess" anotherTestResult $ anotherTest
assertEqual "tProcess" resultAgain $ testAgain
最后我想写这样的东西:
tProcess = TestCase $ do
assertEqual_ testResult $ someTest
assertEqual_ anotherTestResult $ anotherTest
assertEqual_ resultAgain $ testAgain