2008-10-22 82 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代码翻译成您的语言,您将获得很大的帮助。