build the marauroa engine
- 找到project中的build.xml
- 在上面的window中 找到 show view 然后 在找到ant.
- 在右边点击add buildfile。
- 找到文件下的dist
- 然后run as ant,然后在project 中 refresh,会生成几个文件
run the test suite
- run 完 dist后 run 最下面的test 。 还是run as ant
running the code
debug 跟Leo的聊天记录找
workshop2 写test
例如,如果这个方法接收到一个字符串“xyz”,它应该返回一个字符串“zyx”。现在,在不知道该方法的excat实现的情况下,我们可以使用AAA模式编写以下单元测试:
-
Hence, it’s a common practice to extract the arrange section into a private method(s) inside the test class and then simply call these methods from the arrange section of any test that require them.“排列”部分应始终是3个区域中最大的一个。在本节中,将创建所有必需的变量和对象,并给出测试所需的所需状态。有时多个测试需要相同的排列部分。因此,通常的做法是将arrange部分提取到测试类内的私有方法中,然后从任何需要它们的测试的arrange部分调用这些方法。
-
Act部分通常应该是一行代码,它调用被测试的方法。在大多数情况下,如果Act部分不止一行代码,您应该立即考虑重构单元测试(将其分解为更小的单元测试)。主要原因是,如果测试失败,通常很难判断act部分的哪一部分对测试失败负责。
-
当使用AAA模式时,您不必在开始时就开始编写测试代码:3A部分应该总是按照这个顺序排列;Arrange→Act→Assert。但是,您不必按照这个顺序开始编写它们。有时,根据您正在测试的系统和单元以及您理解它的方式,从act或assert部分开始比较有意义。
-
避免在一个测试中出现多个Arrange-Act-Assert部分。在某些情况下,你会发现一个测试重复每个部分不止一次。它可能看起来像这样:
Arrange→Act→Assert→ActAgain→AssertSomethingElse→ArrangeAgain→actioncemore→Assert如果您正在努力理解前一行,想象一下试图理解测试中实际遵循该模式的代码!如果一个测试包含多个Act部分和多个Assert和/或Arrange部分混合在一起,则意味着该测试正在尝试验证多个代码单元。这表明测试不再是单元测试,而是集成测试,因为它尝试验证多个代码单元之间的交互。
如果您遇到一个包含多个Act Assert部分的测试,那么最好考虑将其分解为多个测试,每个测试都有一个Act和Assert部分。 -
避免在单元测试中使用“if语句”。带有条件语句的单元测试很难阅读和理解。单元测试应该是一个不包含分支的简单指令序列。单元测试中的if语句也应该让您考虑重构,即将测试分成多个测试,每个测试都验证原始测试中某个分支的输出。
-
通常的做法是将每个部分的名称作为注释来注释,如上面的示例所示。带注释的测试更容易阅读和维护。