Конечно, WatiN на самом деле не о модульном тестировании, а об интеграции / функционале, но только потому, что вы запускаете модуль модульного тестирования, это не значит, что это должен быть модульный тест. Если вы пишете функциональные / интеграционные тесты, основанные на инфраструктуре модульных тестов, вы получаете бегуна, отчеты, интеграцию VS, как с модульным тестом, который является БОЛЬШИМ усилением, особенно если вы хотите запустить его на CI-сервере, где ваш тест выполняется каждый раз, когда новые сборка приложения развернута.

опытке запустить очень простой тест WatiN 2.0 (CTP3) в Visual Studio 2008 я обнаружил, что первый тест всегда выполняется нормально. Второй метод тестирования, кажется, что-то ломает в объекте IE, создавая следующее исключение:

Метод теста testProject.WatinTest.testTwo вызвал исключение: System.Runtime.InteropServices.InvalidComObjectException: COM-объект, который был отделен от лежащего в его основе RCW, использовать нельзя.

Пример кода ниже. Из-за способа работы метода инициализации в VS2008 переменная браузера должна быть определена какstatic который я считаю, может быть ключом к проблеме. К сожалению, если браузер не открыт в общем методе, это означает отдельное окно для каждого теста, который не идеален

Буду очень признателен за любые идеи, как это исправить. Поиск в Google и поиск SO не дали никаких полезных результатов, поэтому я надеюсь, что хороший ответ на этот вопрос поможет сообществу. Большое спасибо,

    private static IE ie

    [ClassInitialize]
    public static void testInit(TestContext testContext)
    {
        ie = new IE("http://news.bbc.co.uk");
    }

    [TestMethod]
    public void testOne()
    {
        Assert.IsTrue(ie.ContainsText("Low graphics"));
    }

    [TestMethod]
    public void testTwo()
    {
        Assert.IsTrue(ie.ContainsText("Low graphics"));
    }

Ответы на вопрос(3)

Ваш ответ на вопрос