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>>()、適切な値が返されます。
これを達成する方法を提案してください。特定のリストをパラメーターとして提供するためのより良い方法はありますか?