断言和标记

这是非常重要的是有一个好的过程,同时编写测试套件。 我会谈谈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格式 , 规格 , 规范 , 语句 , 测试



