我们中的一些人仍然“生活”在尚未接受单元测试的编程环境中。首先,明显的第一步是尝试为单元测试实现一个合适的框架,我猜xUnit是“标准”。
那么在新的编程语言中实现xUnit的好起点是什么?
BTW,因为人们在问:我的目标环境是Visual Dataflex。
答案 0 :(得分:2)
它是哪种语言 - place already中有不少。
答案 1 :(得分: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。只要有人将代码提交到您的存储库,就在服务器上运行main。
当你上钩时,请查看更多框架,或者看看你是否可以将Main中的一些位分解到你自己的框架中。
答案 2 :(得分:1)
我建议一个好的起点是在其他几种语言中使用xunit来了解这种单元测试框架的工作原理。然后,您需要深入了解行为,并开始研究如何以适合您的新语言的方式重新创建该行为。
答案 3 :(得分:1)
我在VFP中创建了一个不错的单元测试框架,它基于David Astels在Test Driven Development: A Practical Guide中的代码。通过阅读示例,理解技术并将Java代码翻译成您的语言,您将获得很长的路要走。
答案 4 :(得分:1)