Ho un sacco di funzioni come: method1
, method2
, method3
. Per tutti loro ci sono le funzioni di test HUnit
come: testMethod1
, testMethod2
, testMethod3
.get nome della funzione al suo interno
testMethod1 = TestCase $
assertEqual "testmethod1" ...
testMethod2 = TestCase $
assertEqual "testmethod2" ...
testMethod3 = TestCase $
assertEqual "testmethod3" ...
Vorrei evitare di copiare ridondante del nome della funzione come prefisso di errore messaggio e chiamarlo qualcosa di simile:
testMethod1 = TestCase $
assertEqual_ ...
Come può essere raggiunto (qualsiasi trucco "magia" è apprezzato)?
Quindi, in effetti, la domanda è: come si può inserire il nome della funzione all'interno della sua definizione?
Aggiornamento.
In realtà non è chiaro dalla domanda iniziale, che voglio gestire questo tipo di situazione troppo:
tProcess = TestCase $ do
assertEqual "tProcess" testResult $ someTest
assertEqual "tProcess" anotherTestResult $ anotherTest
assertEqual "tProcess" resultAgain $ testAgain
Infine voglio scrivere qualcosa del genere:
tProcess = TestCase $ do
assertEqual_ testResult $ someTest
assertEqual_ anotherTestResult $ anotherTest
assertEqual_ resultAgain $ testAgain
modello haskell – pat
La mia vecchia domanda potrebbe essere utile: http://stackoverflow.com/questions/7896928/how-to-get-variable-name-in-haskell –