如何使TypeMock忽略所有MessageBox

本文关键字:MessageBox 何使 TypeMock | 更新日期: 2023-09-27 18:28:45

我有一个烦人的方法,它会弹出一个MessageBox。所以当我尝试测试它时,我想做这样的事情。

    /// <summary>
    /// A test for LoadConfig exception
    /// </summary>
    [TestMethod]
    public void LoadConfigTest1()
    {
        // Arrange
        var target = new RFIDManager();
        Isolate.WhenCalled(() => ConfigurationManager.AppSettings[0]).WillThrow(new Exception("foo"));
        Isolate.WhenCalled(() => MessageBox.Show()).IgnoreCall();
        // Act
        var result = target.LoadConfig();
        // Assert
        Assert.IsFalse(result);
    }

这不会编译。因为

MessageBox.Show()

需要一个字符串参数。所以我想知道是否可以始终指定忽略调用,无论参数是什么?

我不知道会出现的确切字符串。

非常感谢!

如何使TypeMock忽略所有MessageBox

尝试

Isolate.WhenCalled(() => MessageBox.Show(null)).IgnoreCall();

这应该忽略所有MessageBox.Show()