如何在Groovy中使用Assert Contains

时间:2018-05-24 20:01:44

标签: java groovy

我试图在groovy中做一些断言,我发现Java允许你检查字符串是否包含某个值,见下文:

String longText;
String uan; 



Assert.assertThat(longText, CoreMatchers.containsString(uan));

使用以下导入:

import static org.junit.Assert.assertThat;
import static org.hamcrest.CoreMatchers.containsString;

但是,groovy似乎不喜欢它并且抛出错误"Missing Property Exception, No such property: Asset for class

有谁知道如何使用assert检查字符串是否包含Groovy中的值?

修改

完整代码:

def uan = "123"

String fileName = "C:\\Users\\xxx\\Desktop\\checklogs.txt";
def logs = faker.ivacsLogExtract().getMessages(fileName,uan );

Assert.assertthat(logs, CoreMatchers.containsString(uan));

2 个答案:

答案 0 :(得分:0)

问题是原始代码导入静态方法,但后来尝试以常规方式使用它们(例如Assert.assertThat)。相反,请尝试此操作(例如assertThat。请参阅代码中的评论):

修改已移除@Grab,因为它令人困惑

import static org.junit.Assert.assertThat;
import static org.hamcrest.CoreMatchers.containsString;

String longText = "abcdefijk";
String uan = "def";

// use methods without context:
assertThat(longText, containsString(uan));

答案 1 :(得分:0)

我通过这样做得到了它:

断言longText.contains(uan)