Как сделать так, чтобы TypeMock игнорировал все MessageBox - PullRequest
2 голосов
/ 23 марта 2012

У меня есть этот раздражающий метод, который выскакивает 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()

нуждается в строковом аргументе.Поэтому я хочу знать, возможно ли указывать игнорировать вызов всегда, независимо от того, какой аргумент?

Я не знаю точную строку, которая будет отображаться.

Большое спасибо!

1 Ответ

1 голос
/ 23 марта 2012

Попробуйте

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

Это должно игнорировать все MessageBox.Show().

...