查看源代码 EUnit 发布说明

本文档描述了对 EUnit 应用程序所做的更改。

Eunit 2.9.1

改进和新特性

  • 文档已迁移为使用 Markdown 和 ExDoc。

    自有 ID:OTP-18955 辅助 ID:PR-8026

Eunit 2.9

改进和新特性

  • 通过此更改,EUnit 的超时陷阱可以使用 scale_timeouts 选项进行缩放。

    自有 ID:OTP-18771 辅助 ID:PR-7635

Eunit 2.8.2

改进和新特性

  • 使用 tuple_size/1 或 byte_size/1 替换 size/1

    size/1 BIF 未经过 JIT 优化,其使用可能会导致 Dialyzer 的类型更差。

    当知道被测试的值必须是元组时,应始终首选 tuple_size/1

    当知道被测试的值必须是二进制数据时,应首选 byte_size/1。 但是,byte_size/1 也接受位串(将大小向上舍入为整数个字节),因此必须确保在调用 byte_size/ 之前调用 is_binary/1 以确保拒绝位串。 请注意,编译器会删除对 is_binary/1 的冗余调用,因此如果不确定之前的代码是否已确保参数为二进制数据,则在调用 byte_size/1 之前立即添加 is_binary/1 测试不会造成损害。

    自有 ID:OTP-18432 辅助 ID:GH-6672,PR-6793,PR-6784,PR-6787,PR-6785,PR-6682,PR-6800,PR-6797,PR-6798,PR-6799,PR-6796,PR-6813,PR-6671,PR-6673,PR-6684,PR-6694,GH-6677,PR-6696,PR-6670,PR-6674

Eunit 2.8.1

修复的 Bug 和故障

  • 通过此更改,eunit 的 exact_execution 选项可与应用程序原语一起使用。

    自有 ID:OTP-18264 辅助 ID:PR-6322, GH-6320

Eunit 2.8

改进和新特性

  • 通过此更改,EUnit 可以选择不尝试执行带有“_tests”后缀的相关模块。当源模块和测试模块位于同一文件夹中时,这可以用来避免重复执行。

    自有 ID:OTP-18181 辅助 ID:ERL-97, GH-3064, PR-5461

Eunit 2.7.1

改进和新特性

  • 次要内部改进。

    自有 ID:OTP-17884 辅助 ID:GH-5617

Eunit 2.7

改进和新特性

  • 在 eunit 测试中,当测试用例超时时,包含堆栈跟踪。

    自有 ID:OTP-17613 辅助 ID:PR-5185

Eunit 2.6.1

修复的 Bug 和故障

  • eunit_surefire 报告处理程序已更新为自动创建存储 surefire xml 文件所需的目录。

    自有 ID:OTP-17300 辅助 ID:PR-4695

Eunit 2.6

改进和新特性

  • 修复编译器警告。

    自有 ID:OTP-16674

Eunit 2.5

改进和新特性

  • eunit_surefire 跳过无效的 XML 1.0 字符。

    自有 ID:OTP-15950 辅助 ID:PR-2316, ERL-991

  • 添加新的宏 ?capturedOutput,以启用编写验证打印到标准输出的数据的测试用例

    自有 ID:OTP-16275 辅助 ID:PR-2424

  • 添加选项以限制 eunit 测试套件生成的异常的打印深度。

    自有 ID:OTP-16549 辅助 ID:PR-2532

Eunit 2.4.1

改进和新特性

  • PR-2316 的向后移植:从 eunit_surefire 输出中剥离控制代码,以避免生成无效的 xml

    自有 ID:OTP-16380 辅助 ID:ERL-991, PR-2316, PR-2487

Eunit 2.4

改进和新特性

  • 删除 eunit 中的编译器警告。

    自有 ID:OTP-16313

Eunit 2.3.8

修复的 Bug 和故障

  • 在 I/O 协议的实现中处理带有显式编码的 get_until 请求。

    自有 ID:OTP-16000

Eunit 2.3.7

修复的 Bug 和故障

  • 改进的文档。

    自有 ID:OTP-15190

Eunit 2.3.6

改进和新特性

  • 删除对 erlang:get_stacktrace() 的调用。

    自有 ID:OTP-14861

Eunit 2.3.5

修复的 Bug 和故障

  • 删除了文档中所有旧的未使用文件。

    自有 ID:OTP-14475 辅助 ID:ERL-409, PR-1493

Eunit 2.3.4

改进和新特性

  • 更新工具以正确显示 Unicode 原子。

    自有 ID:OTP-14464

Eunit 2.3.3

修复的 Bug 和故障

  • 来自 eunit 的 surefire 报告将不再具有带有嵌入双引号的名称。

    自有 ID:OTP-14287

Eunit 2.3.2

修复的 Bug 和故障

  • 许可证头中的 FSF 地址已更新。

    自有 ID:OTP-14084

Eunit 2.3.1

修复的 Bug 和故障

  • 当断言移到单独的头文件时,启用测试时自动启用断言的功能停止工作。

    自有 ID:OTP-13892

Eunit 2.3

改进和新特性

  • 有一个新的 debugVal/2,可以控制截断深度。

    自有 ID:OTP-13612

Eunit 2.2.13

改进和新特性

  • 抑制 Dialyzer 警告。

    自有 ID:OTP-12862

Eunit 2.2.12

修复的 Bug 和故障

  • 小的文档修复

    自有 ID:OTP-13017

Eunit 2.2.11

修复的 Bug 和故障

  • 当 2 个测试通过时,改进成功消息

    自有 ID:OTP-12952

Eunit 2.2.10

修复的 Bug 和故障

  • eunit 应用程序现在是 unicode 安全的。

    自有 ID:OTP-11660

Eunit 2.2.9

修复的 Bug 和故障

  • 确保在需要时安装 .hrl 文件

    自有 ID:OTP-12197

  • 确保 ssh、ssl、eunit 和 otp_mibs 的清除规则实际删除生成的文件。

    自有 ID:OTP-12200

Eunit 2.2.8

修复的错误和故障

  • 小的重构。

    自有 ID:OTP-12051

Eunit 2.2.7

修复的错误和故障

  • 以下应用程序的应用程序升级 (appup) 文件已更正

    asn1、common_test、compiler、crypto、debugger、dialyzer、edoc、eldap、erl_docgen、et、eunit、gs、hipe、inets、observer、odbc、os_mon、otp_mibs、parsetools、percept、public_key、reltool、runtime_tools、ssh、syntax_tools、test_server、tools、typer、webtool、wx、xmerl

    一个新的用于测试 appup 文件的测试实用程序已添加到 test_server。现在 OTP 中的大多数应用程序都使用它。

    (感谢 Tobias Schlager)

    自有 ID:OTP-11744

Eunit 2.2.6

修复的错误和故障

  • 修复 Eunit 中的 I/O 协议错误处理。感谢 Yuki Ito。

    自有 ID:OTP-11373

  • 不要尝试在 format 中检测可打印字符列表。感谢 Roberto Aloi。

    自有 ID:OTP-11467

  • 修复静默 make 规则(感谢 Anthony Ramine)

    自有 ID:OTP-11516

Eunit 2.2.5

改进和新功能

  • 将 eunit 宏包装到 begin ... end 代码块中。感谢 Anthony Ramine。

    自有 ID:OTP-11217

Eunit 2.2.4

改进和新功能

  • 在必要时,已将声明编码的注释添加到 Erlang 文件中。当 UTF-8 成为默认编码时,此注释将在 Erlang/OTP R17B 中删除。

    自有 ID:OTP-10630

Eunit 2.2.3

修复的错误和故障

  • 新的 'no_tty' 选项可使默认 tty 报告静默。

    识别 R15 中引入的新堆栈跟踪格式,添加位置信息。(感谢 Klas Johansson。)

    改进错误消息的布局,在错误项之前打印堆栈跟踪。

    启发式地检测并报告来自生成器和实例化器的错误返回值。例如,“ok”不会被解释为模块名称,并且会打印警告。

    新的测试表示形式 {test,M,F} 用于完整性,以及 {generator,M,F}。元组 {M,F} 已弃用。

    在 Surefire 输出文件中使用 UTF-8 作为编码。(感谢 Lukas Larsson。)

    自有 ID:OTP-10173

Eunit 2.2.2

改进和新功能

  • 如果您限制作业数,例如使用 'make -j6' 或 'make -j10',现在可以使用并行 make 构建 Erlang/OTP。由于缺少一些依赖项,'make -j' 目前无法工作。

    自有 ID:OTP-9451

Eunit 2.2.1

修复的错误和故障

  • 为每个测试套件生成单独的 surefire XML

    以前,所有测试套件(=模块)的测试用例都放在同一个 surefire 报告 XML 中,从而打破了最小惊讶原则,并使后分析更加困难。假设以下布局

    src/x.erl src/y.erl test/x_tests.erl test/y_tests.erl

    x_tests 和 y_tests 的结果都写入到一个报告中,分组在模块 x 或 y 下(看似随机)。

    现在生成两个报告,一个用于模块 x,一个用于 y。(感谢 Klas Johansson)

    自有 ID:OTP-9465

  • 已更新到 EUnit 版本 2.2.0

    新的宏 assertNotMatch(Guard, Expr)、assertNotEqual(Unexpected, Expr) 和 assertNotException(Class, Term, Expr)。

    debugMsg 宏现在还打印当前进程的 pid。

    在测试目录中的所有模块时,不再执行 Module_tests.erl 中的测试两次。

    内部使用的 regexp 已替换为 re。(感谢 Richard Carlsson)

    自有 ID:OTP-9505

  • 删除了 dialyzer 报告的一些从未匹配的子句,更新了作者电子邮件和主页,从文件中删除了 cvs 关键字,删除了不应检入的文件(感谢 Richard Carlsson)

    自有 ID:OTP-9591

Eunit 2.1.7

修复的错误和故障

  • 增加 Eunit Surefire 报告中错误消息的深度

    目前,Eunit Surefire 报告中的错误消息像写入终端时一样被缩短。但是,约束终端输出的空间限制不适用于此处,因此包含更多的错误消息更有用。新的深度 100 应该足以满足大多数情况,同时防止失控错误。(感谢 Magnus Henoch)

    自有 ID:OTP-9220

  • 在停止时不要让 eunit_surefire 报告回 eunit

    当 eunit 终止时,会向所有侦听器发送停止消息,然后 eunit 等待一条结果消息,但之前 eunit_tty 和 eunit_surefire 都会在错误时发送响应。不要从 eunit_surefire 发送结果消息;让 eunit_tty 处理所有结果报告,包括正面的和负面的,以避免竞争条件和不一致。(感谢 Klas Johansson)

    自有 ID:OTP-9269

Eunit 2.1.6

修复的错误和故障

  • 修复 format_man_pages,使其处理所有 man 节并删除各种 man 页中的警告/错误。

    自有 ID:OTP-8600

Eunit 2.1.5

改进和新功能

  • 在修复了一些错误并在文档构建过程中添加了一些功能后,现在可以在开源环境中构建文档。

    - 更新了元数计算。

    - 在生成的链接中删除了用于 bif 的函数名称中使用的模块前缀,因此链接将如下所示:"https://erlang.ac.cn/doc/man/erlang.html#append_element-2"" 而不是 "https://erlang.ac.cn/doc/man/erlang.html#erlang:append_element-2""。

    - 加强了加载新页面时 html 文档中的菜单定位。

    - 对 man 页面的生成进行了一些更正(感谢 Sergei Golovan)

    - 法律声明取自 xml 书籍文件,因此 OTP 的构建过程可用于非 OTP 应用程序。

    自有 ID:OTP-8343

Eunit 2.1.4

改进和新功能

  • 现在文档是使用大多数平台上存在的开源工具(xsltproc 和 fop)构建的。一个可见的变化是删除了框架。

    自有 ID:OTP-8201

Eunit 2.1.3

改进和新功能

  • 杂项更新。

    自有 ID:OTP-8190

Eunit 2.1.2

改进和新功能

  • 杂项更新。

    自有 ID:OTP-8038

Eunit 2.1.1

修复的错误和故障

  • eunit 在 R13B 中已损坏。

    自有 ID:OTP-8018

Eunit 2.1

改进和新功能

  • 主要是内部更改,特别是事件协议;修复了可能导致 eunit 挂起的超时问题,并使编写新的报告后端更容易。

    用于 Maven 和 Bamboo 的新的 "surefire" 报告后端。

    测试表示不再遍历两次(第一次遍历仅用于枚举)。这消除了一些关于如何编写生成器的奇怪限制,但也意味着在跳过测试的情况下,报告不能像以前那样完整。

    自有 ID:OTP-7964

EUnit 2.0.1

改进和新功能

  • 更正了文档构建。

EUnit 2.0

改进和新功能

  • 这是 Richard Carlsson 在 OTP 中发布的 EUnit(用于 Erlang 模块的单元测试)的第一个版本。