断言和标记

book Assertions and markup

这是非常重要的是要有良好的进程,同时编写测试套件。 我会谈谈一个,这对于JLS使用。

作为最终产品之前提到的考验。 之间有一个测试和规范的关系。 断言驱动的过程给出了一个不知是什么每个测试规范中的实际检查组。 利用这种关系,开发人员可以计算的覆盖面,获取断言上测试没有写入名单等

断言是从一个可以测试规范的声明。 和第一个步骤是确定在规范的所有断言。 之后,开发人员可以编写测试。

例如,从断言Java语言规范: smt Assertions and markup

  • 一个编译时错误如果相同的修饰似乎更在接口的声明不止一次。
  • 一个会员类型的二进制名称由其立即封闭类型之后美元,其次是成员的简单名称的二进制名称。
  • 阿continue语句只可能出现在一段时间,这样做,或声明。

有可能是因为非测试的或涉及许多不确定的发言。 有时,这些声明包括“可能”或改为“可能”。 这是不正确的,如果森坦斯有“可以”一词,是不可测的,但通常是这样。

非例子测试的语句:

  • 我们不建议这样的“混合符号”的数组声明。
  • 其中一个对象类不是静态知情的情况下可能会导致运行时类型错误。
  • 但是,如果一个表达式求值会引发异常,则表达式完成突然说。

有许多讨论和争议的断言。 有人说,例子,不应当被视为断言对待。 也有人说,每个语句是一个断言,有两个,其中种:可测性和非测试的。 我个人的看法是,一个说法肯定是测试的。 而且在大多数情况下断言的例子只是因为测试可以书面检查的具体例子。

在规范中确定的过程称为断言标记。 有很多方法。 但在任何情况下,用户必须能够获得wheather信息的声明是一个断言和某种区分另一个说法。 有可能是与主张独立的储存和测绘身份证的的声明。 我喜欢融入规范的标记的想法。 这种方法被挑选来的Java SE的测试套件的语言区。 JLS的写于FrameMaker。 与出口机制的PDF和HTML版本创建的。 在HTML格式期间被用作测试套件的创造。

在JLS和JLS 2一些特殊的锚确定的开始和结束的说法。 补充资料是在声明assertionID和简短的摘要。 最终定位是一个图像和一个测试链接。 HTML视图和代码视图显示在相应的插图。 断言id的是arr033,arr034,arr020等

JLC2 html1 Assertions and markup

JLC2 html code1 Assertions and markup

总的想法可以被描述为:

<a name=assertionID>“! -为HTML评论shord说明- ”
此间断言声明
<img src="pics/assert.gif"> <a href="path的test">测试ID,这是一样的断言身份证“/ 1”

如果规格不同地区分别发表的声明是一个测试测试的第一个标记就会像arr033_0,arr033_1,arr033_2东西。

这是一种建筑用JLS和JLS 2。 这是对JLS3略加修改,但主要的想法是保存。 我知道有些与非办法的例子静态断言在一个单独的repositary,其中ID是一些哈希值计算不断标识的内容为基础。 它露面是不是一个很好的解决方案有几个原因。 总有一个艰难的过程转移到了新版本的规格。 但在我看来,这是很大的问题,静态身份证进入规范嵌入容易。







  • 分享/书签
Print This Post 打印此职位

一个评论

留下回复

您必须登录张贴评论。