использование IProvideDynamicTestMethods для модульных тестов silverlight 4 - PullRequest
0 голосов
/ 20 сентября 2011

Кому-нибудь не повезло в создании своего пользовательского класса тестирования и использовании интерфейса IProvideDynamicTestMethods ? У меня есть случай, когда мне нужно динамически генерировать методы тестирования, и это, кажется, то, что мне нужно Моя цель - создать методы тестирования, основанные на некоторых файлах, которые я тестирую.

Джефф Уилкокс упоминает это как новую функцию в SL3 (http://www.jeff.wilcox.name/2008/09/rc0-new-test-features/, см. Раздел «Методы динамического тестирования»), но я не смог найти никаких примеров этого.

Я не знаю, как зарегистрировать мой пользовательский тестовый класс (он наследуется от ITestClass). Я посмотрел на источник модульного тестирования SL4, чтобы увидеть, как обнаружен тестовый класс, и нашел следующее в UnitTestFrameworkAssembly.cs ссылка на источник

    /// <summary>
    /// Reflect and retrieve the test class metadata wrappers for 
    /// the test assembly.
    /// </summary>
    /// <returns>Returns a collection of test class metadata 
    /// interface objects.</returns>
    public ICollection<ITestClass> GetTestClasses()
    {
        ICollection<Type> classes = ReflectionUtility.GetTypesWithAttribute(_assembly, ProviderAttributes.TestClass);
        List<ITestClass> tests = new List<ITestClass>(classes.Count);
        foreach (Type type in classes)
        {
            tests.Add(new TestClass(this, type));
        }
        return tests;
    }

Похоже, он всегда будет использовать встроенный TestClass. Я что-то пропустил? Я не знаю, как заставить тестовый фреймворк использовать мой пользовательский TestClass

Любые указатели приветствуются. Спасибо

1 Ответ

0 голосов
/ 22 сентября 2011

Похоже, что единственный способ настроить это прямо сейчас - написать свой собственный UnitTestProvider для тестового бегуна. Хорошо, что код доступен, так что это не так сложно сделать.

Вы можете либо взять код из Vstt по умолчанию из codeplex здесь и внести в него любые изменения, которые вам нравятся. Я все еще экспериментирую с этим прямо сейчас, поэтому давайте посмотрим, как это происходит. Я понял эту идею, посмотрев на этот проект github. Ключ заключался в том, чтобы подключить вашего собственного провайдера, что было сделано в Raven.Tests.Silverlight.UnitTestProvider.Example / App.xaml.cs.

Надеюсь, это кому-нибудь поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...