Moq - It.IsAny <string> () siempre devuelve nulo

Qué puede causarIt.IsAny<string>() para devolver nulo en cada llamada? ¿Soy incorrecto al suponer que está diseñado para devolver una cadena no nula?

Aquí está el uso, donde el método de inicio de sesión arroja una excepción ArgumentNullException para un segundo argumento nulo (cadena de conexión). Estaba asumiendo queIt.IsAny<string>() proporcionaría una cadena no nula, que pasaría por alto la excepción ArgumentNullException.

var mockApiHelper = new Mock<ApiHelper>();
mockApiHelper.Setup(m => m.Connect(It.IsAny<string>(), 
                                   It.IsAny<string>(), 
                                   It.IsAny<string>()));

var repositoryPlugin = new RepositoryPlugin(mockApiHelper.Object);
repositoryPlugin.Login(new CredentialsInfo(), It.IsAny<string>());

Assert.IsTrue(repositoryPlugin.LoggedIn, 
    "LoggedIn property should be true after the user logs in.");

Respuestas a la pregunta(3)

Su respuesta a la pregunta