2 つのパラメーターを受け取るメソッドをモックしようとしています。メソッドのシグネチャは次のようになります。
User DoSomething(User user, List<Role> newRoleList);
「newRoleList」パラメーターに事前定義されたロールと特定のユーザー名が含まれている場合にのみ、このメソッドが何かを返すようにします。を使用する代わりに、 を使用It.IsAny<>
しようとしていますIt.Is<>
。私が直面している問題は、2番目のパラメーターにあります。この 2 番目のパラメーターを設定するにはどうすればよいですか?
私はこのようなものを達成しようとしています:
List<Role> roleList = new List<Role>()
{
new Role() { RoleName="RoleOne"},
new Role() { RoleName="RoleTwo"}
};
mockComponent.Setup(x => x.UpdateUserRoles(
It.Is<User>(user1 => user1.UserName == "DummyUser"),
It.Is<List<Role>>(y=>y==roleList)
))
.Returns(user);
しかし、これは常に「null」を返しています。2 番目のパラメーターを に変更するとIt.IsAny<List<Role>>()
、適切な値が返されます。
これを達成する方法を提案してください。特定のリストをパラメーターとして提供するためのより良い方法はありますか?