您好我是Gradle的新手。我们只是从Maven切换到Gradle,我在理解Gradle测试任务时遇到了一些困难。 这是我的班级:
public class Money {
private final int amount;
private final String currency;
public Money(int amount, String currency) {
if (amount < 0) {
throw new IllegalArgumentException("illegal amount: [" + amount + "]");
}
if (currency == null || currency.isEmpty()) {
throw new IllegalArgumentException("illegal currency: [" + currency + "]");
}
//this.amount = 15;
this.amount = amount;
this.currency = currency;
}
public int getAmount() {
return amount;
}
public String getCurrency() {
return currency;
}
}
这是我的测试(使用TestNG):
@Test
public class MoneyManyValuesTest {
public void testConstructor() {
Money money = new Money(10, "USD");
assertEquals(money.getAmount(), 10);
assertEquals(money.getCurrency(), "USD");
money = new Money(20, "EUR");
assertEquals(money.getAmount(), 20);
assertEquals(money.getCurrency(), "EUR");
}
}
当我运行测试时(使用gradle“测试”任务),一切看起来都没问题。
但是我希望我的测试失败,所以我调整了测试的最后一行:
assertEquals(money.getCurrency(), "EUR want error here");
再次运行gradle“test”,测试仍然通过msg:
2:40:26 PM: Executing external task 'test'...
money:compileJava UP-TO-DATE
money:processResources UP-TO-DATE
money:classes UP-TO-DATE
money:compileTestJava
money:processTestResources UP-TO-DATE
money:testClasses
money:test
BUILD SUCCESSFUL
这里发生了什么?
这是我的构建脚本
apply plugin: 'idea'
apply plugin: 'eclipse'
apply plugin: 'java';
apply plugin: 'eclipse'
repositories {
mavenCentral()
}
dependencies {
testCompile 'org.testng:testng:6.3.1'
testCompile 'org.mockito:mockito-all:1.9.0'
testCompile 'org.easytesting:fest-assert:1.4'
testCompile 'org.hamcrest:hamcrest-all:1.1'
}
test {
useTestNG()
}
}
答案 0 :(得分:1)
我正在使用IntelliJ IDEA。我的IDE会自动保存我的源代码。我已经习惯了这个功能,所以我甚至忘记了IDEA为我做了这个。 看起来每当我运行Gradle“测试”任务时,IDEA都不会自动保存我的源代码。但如果我手动保存它一切正常。