2008-10-22 87 views
0

我們中的一些人仍然「活着」在單元測試還沒有被接受的編程環境中。要開始,明顯的第一步將是嘗試實現一個體面的單元測試框架,我想xUnit是「標準」。以新的編程語言實現xunit

那麼,什麼是對一種新的編程語言實現的xUnit一個很好的起點?

順便說一句,因爲人們都在問:我的目標環境是視覺Dataflex。

回答

1

我建議一個良好的起點是使用xUnit的一對夫婦其他語言來獲得這種風格的單元測試框架是如何工作的感覺。然後,您需要深入研究行爲並開始研究如何以適合您新語言的方式重新創建該行爲。

2

哪種語言是它 - 有相當的place already一些。

+0

對於我來說,我正在考慮在Visual Dataflex上實現單元測試。不過,我的問題旨在成爲lanugage不可知論者。 – 2008-10-22 09:38:20

2

如果這樣做會阻止您開始編寫單元測試,您可以在沒有測試框架的情況下開始。在C風格的語言

例子:

void Main() 
{ 
    var algorithmToTest = MyUniversalQuestionSolver(); 
    var question = Answer to { Life, Universe && Everything }; 

    var actual = algorithmToTest(question); 
    var expected = 42; 
    if (actual != expected) Error(); 

    // ... add a bunch of tests 
} 

實例COBOL的語言風格:

MAIN. 
    COMPUTE EXPECTED_ANSWER = 42 
    SOLVE ANSWER_TO_EVERYTHING GIVING ACTUAL_ANSWER 
    SUBTRACT ACTUAL_ANSWER FROM EXPECTED_ANSWER GIVING DIFFERENCE 
    IF DIFFERENCE NOT.EQ 0 THEN 
    DISPLAY "ERROR!" 
    END-IF 

    * ... add a bunch of tests 
    STOP RUN 

運行主你完成後,改變了你的代碼(也可能編譯)。只要有人將代碼提交到存儲庫,請在服務器上運行main。

當你大呼過癮,看多爲框架或看看你的人能夠分解出一些從主比特到自己的框架。

1

我在Test Driven Development: A Practical Guide基於此的代碼,由大衛Astels創造VFP一個體面的單元測試框架。通過閱讀示例,理解技術並將Java代碼翻譯成您的語言,您將獲得很大的幫助。