用新的编程语言实现xunit

问题描述 投票:0回答:5

我们中的一些人仍然“生活”在尚未接受单元测试的编程环境中。首先,显而易见的第一步是尝试实现一个像样的单元测试框架,我猜 xUnit 是“标准”。

那么用新的编程语言实现 xUnit 的一个好的起点是什么?

顺便说一句,因为人们在问:我的目标环境是 Visual Dataflex。

unit-testing language-agnostic xunit
5个回答
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,以了解这种类型的单元测试框架的工作原理。然后,您需要深入研究该行为,并开始研究如何以适合您的新语言的方式重新创建该行为。


1
投票

我根据 David Astels 的《测试驱动开发:实用指南》中的代码,在 VFP 中创建了一个不错的单元测试框架。 通过阅读示例、理解技术并将 Java 代码翻译成您的语言,您将会受益匪浅。


1
投票
使用 NUnit 在 C# 中进行实用单元测试

非常有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.