我可以在spock中编写单元测试吗?

Luc*_*cky 0 groovy spock

public boolean accept(File directory, String fileName) {
    boolean fileOK = true;

    if (name != null) {
        fileOK &= fileName.startsWith(name);
    }

    if (pattern != null) {
        fileOK &= Pattern.matches(regex, fileName);
    }

    if (extension != null) {
        fileOK &= fileName.endsWith('.' + extension);
    }
    return fileOK;
}
Run Code Online (Sandbox Code Playgroud)

Ara*_*ram 5

下面是另一种写作方式.我使用数据驱动的方法,因为你必须测试多个场景(方法中有多个if)

def "should accept valid filenames"() {
    expect:
    foobar.accept(new File("/tmp"), fileName)

    where:
    fileName << ["valid_filename_1", "valid_filename_2", "valid_filename_n"]
}
Run Code Online (Sandbox Code Playgroud)