Gradle“test”任务不会失败

时间:2014-01-03 12:49:00

标签: java unit-testing tdd gradle testng

您好我是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()
}
}

1 个答案:

答案 0 :(得分:1)

我正在使用IntelliJ IDEA。我的IDE会自动保存我的源代码。我已经习惯了这个功能,所以我甚至忘记了IDEA为我做了这个。 看起来每当我运行Gradle“测试”任务时,IDEA都不会自动保存我的源代码。但如果我手动保存它一切正常。