我们中的一些人仍然“生活”在尚未接受单元测试的编程环境中。首先,显而易见的第一步是尝试实现一个像样的单元测试框架,我猜 xUnit 是“标准”。
那么用新的编程语言实现 xUnit 的一个好的起点是什么?
顺便说一句,因为人们在问:我的目标环境是 Visual Dataflex。
如果这阻止您开始编写单元测试,您可以在没有测试框架的情况下开始。
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 中的一些部分分解到您自己的框架中。
它适用于哪种语言 - 地方已经有很多了。
我建议一个好的起点是在其他几种语言上使用 xunit,以了解这种类型的单元测试框架的工作原理。然后,您需要深入研究该行为,并开始研究如何以适合您的新语言的方式重新创建该行为。