背景:项目JDK升级,遇到一个concordion相关的编译问题。
需要了解和学习下concordion。
Concordion is an open source framework for Java that lets you turn a plain English description of a requirement into an automated test. Concordion is the most flexible tool for creating high-quality living documentation. It is often used with Specification by Example (SbE) and Behaviour Driven Development (BDD) processes.
参考:
GitHub: https://github.com/concordion/concordion
教程:https://www.tutorialspoint.com/concordion/index.htm
中文简介https://www.jianshu.com/p/7ddfd329f2cd
Overview
Concordion是一个基于Java的书写和管理自动化接受测试的项目。
Concordion可以直接与JUnit框架集成,可以选择任一常见的Java开发环境IDE,如Netbeans,Eclipse,IntelliJ IDEA。
Active Software Specification 活软件文档,作为软件特征行为的一种描述方式,也提供了一种在软件开发过程中通过与系统建立连接实现软件文档验证的方式。
Concordion中定义的活文档,有两部分:
1. 简洁的需求文档,在以XHTML语言实现的描述期望功能,包括描述功能说明的接受测试用例以及HTML标签标记的用例数据。
2. 接受测试用例,在以Java语言实现的叫做XXXFixture的代码中,基于标准JUnit测试用例的拓展。这里的Fixture代码负责根据上述HTML标签找到相应标记的用例数据,并在软件开发过程中对用例进行验证。
当运行Concordion活文档测试后,得到的XHTML文档,显示原始的说明文档以及对应的测试结果。绿色-通过 v.s. 红色-失败。
任何项目的变动可能造成测试失败,以此保证文档的一致性和即时性。
关键特征:
1. 规格说明书,即文档。以HTML形式存储,便于阅读和分享。
2. 规格说明书,是活的。规格说明文档包括可以通过系统执行的用例。文档要通过及时更新得以保证用例通过执行验证。
3. 区分“what”和“how”,将具体实现和系统需要的行为分开。
4. 简单易学。极少的命令,用例通过JUnit实现,易于与现有项目直接集成。
5. 强大的本地化设置,通过可扩展的API实现功能递增。