断言和标记

这是非常重要的是要有一个好的过程,而写的测试套件。 我会谈谈这对于JLS的使用之一。
正如前面提到的最终产品的测试的数量。 之间有一个测试和规范的关系。 断言驱动的过程给出了一个主意了每个测试实际上是在规范的检查组。 利用这种关系,开发人员可以计算的覆盖面,得到了断言哪些测试是不写,等名单
断言是一个从一个可以被测试规范的声明。 而首要的第一步是确定在规范所有断言。 在这以后,开发人员可以编写测试。
断言的例子从爪哇语言规范: 
- 一个编译时错误,如果同样的修改多次出现在接口声明。
- 一个成员类型的二进制名称由封闭类型,其立即美元,其次,由该成员的简单名称,后面的二进制名称。
- continue语句只能出现在一段时间,做或声明。
有可能是是非可测试的,或涉及不确定性的许多发言。 有时候,这些陈述包括“可能”或“可能”字样。 这是不正确的,如果一个句子有一个“可”字是不可测试的,但通常是这样的。
举例非测试的语句:
- 我们不建议这样的数组声明为“混合符号”。
- 那里的情况不是静态已知的对象类可能会导致运行时类型错误。
- 但是,如果一个表达式的评价抛出一个异常,那么表达式是说突然来完成。
有许多讨论和争议的断言。 有人说,不应作为例子断言处理。 也有人说,每个语句是断言,有两个种:可测试和非测试的。 我个人的看法是,一个断言肯定是可测试的。 而且在大多数情况下的例子只是因为测试可以写检查特殊的例子断言。
在规范的过程称为断言识别标记。 有许多方法。 但在任何情况下,用户必须能够获取信息的声明是否是断言,不知怎么区分从另一说法。 有可能与他们的断言和ID的声明映射到一个单独的仓库。 我喜欢融入规范标记的想法。 这种方法是选中,是因为语言方面的Java SE的测试套件。 JLS的是写在FrameMaker中。 随着出口机制的PDF和HTML版本被创造了。 HTML的版本的过程中使用测试套件的创建。
在JLS的和一些特殊的锚JLS的2所确定的开始和结束的断言。 附加信息是assertionID短的发言摘要。 最终锚图像和链接的考验。 HTML视图和代码视图显示在相应的插图。 断言ID的是arr033,arr034,arr020等
总的想法可以被描述为:
的<a name=assertionID> < - HTML注释shord描述为“ - >
在这里断言声明
<img src="pics/assert.gif">的<a href="path到test">测试ID,这是一>一样断言编号</
如果在不同部位的规范是由一个单独的语句测试测试的第一个标签将类似arr033_0,arr033_1,arr033_2。
这种体系结构是用于JLS的和JLS的2。 这是为JLS3略加修改,但主要的想法是保存。 我知道与非静态断言标识的一些方法的例子在一个单独的仓库,其中ID是一些散列值计算的基于内容的保存。 几个原因,是不是出现了一个很好的解决。 总有一个艰难的过程迁移到新版本的规格。 但在我看来,这是许多与静态ID的更容易嵌入到规范。
锚 , 断言 , assertionID , FrameMaker中 , 爪哇 , Java语言 , Java语言规范 , Java SE中 , JDK的 , JDK6 , JDK7 , JLS的 , 语言 , 标记 , PDF格式 , 规格 , 规范 , 语句 , 测试



