设置:
度过了愚蠢的一天。
我有以下代码:
UserRoles = Roles.GetRolesForUser(username);
问题:
如果用户名是空字符串(“”,用户未登录),那么当我检查UserRoles
即时窗口中的值时,它会显示:
{string[0]}
问题:
是什么{string[0]}
?
如何复制此值以针对未登录用户(用户名 ==“”)的情况测试我的代码?
注意:我已经搜索过这个但无济于事。
GetRolesForUser 返回一个角色数组,因此即时窗口中的“String[0]”仅表示它知道返回类型是一个数组(在本例中为字符串),但条目为零(因为没有返回任何角色空白用户。
它是一个空的字符串数组。您可以创建一个空字符串数组,例如
string[] emptyArray = new string[0];
如果您查看Roles.GetRolesForUser(string)的文档,您会看到它返回一个字符串数组:string[]
{string[0]}
意味着你有一个零元素的数组。
这是即时窗口显示空字符串数组的方式:
[Test]
public void StringsTest()
{
var strings = new string[] {};
}
在您的测试代码中,您可以模拟IRoles 并让 GetRolesForUser(username) return new string[] {}
这意味着该值是一个字符串数组,其中包含 0 个元素