问题描述
我想知道这种方法是否是断言IEnumerable字符串值的最佳方法,您能指导我如何断言该方法以便取回整个字符串中的某些内容吗? 谢谢。
[CodeStep("Assert message")]
public void test()
{
var client = new HttpClient();
client.BaseAddress = new Uri("URLHere");
var response = string.Empty;
Task.Run(async () =>
{
response = await client.GetStringAsync("message/All");
}).Wait();
var messages = JsonConvert.DeserializeObject<IEnumerable<string>>(response);
Assert.IsTrue(messages.ToString().Contains("TextHere"));
}
解决方法
否,这不是检查其中一条消息包含单词merge
的最佳方法。不需要底层序列将其内容呈现为TextHere
的一部分,实际上不需要像ToString
这样的实现。
尝试改用Linq List<>
扩展方法:
Contains
如果要检查任何字符串是否包含子字符串Assert.IsTrue(messages.Contains("TextHere"));
,请使用TextHere
:
Any