查看源代码 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 模块的单元测试)的第一个版本。