У меня есть куча таких функций, как :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