Unit testing 将IProvideDynamicTestMethods用于silverlight 4单元测试

Unit testing 将IProvideDynamicTestMethods用于silverlight 4单元测试,unit-testing,silverlight-4.0,Unit Testing,Silverlight 4.0,有人在创建自定义测试类和使用IProvideDynamicTestMethods接口时运气好吗?我有一个需要动态生成测试方法的案例,这似乎就是我所需要的。我的目标是根据我正在测试的一些文件生成测试方法 Jeff Wilcox提到这是SL3中的一个新特性,请参见动态测试方法部分,但我找不到任何这样的例子 我不知道如何注册它从ITestClass继承的自定义测试类。我查看了SL4单元测试源代码以了解如何发现测试类,并在UnitTestFrameworkAssembly.cs中发现了以下内容 看起来它

有人在创建自定义测试类和使用IProvideDynamicTestMethods接口时运气好吗?我有一个需要动态生成测试方法的案例,这似乎就是我所需要的。我的目标是根据我正在测试的一些文件生成测试方法

Jeff Wilcox提到这是SL3中的一个新特性,请参见动态测试方法部分,但我找不到任何这样的例子

我不知道如何注册它从ITestClass继承的自定义测试类。我查看了SL4单元测试源代码以了解如何发现测试类,并在UnitTestFrameworkAssembly.cs中发现了以下内容

看起来它将始终使用内置的TestClass。 我错过什么了吗?我不知道如何让测试框架使用我的定制TestClass

欢迎指点。
谢谢

现在看来唯一的设置方法是为测试运行程序编写自己的UnitTestProvider。好的是代码是可用的,所以这样做并不难

您可以从codeplex的默认Vstt获取代码,并对其进行任何更改。我现在还在试验这个,让我们看看这是怎么回事。我是通过查看github项目得到这个想法的。 关键是插入您自己的提供者,这是在Raven.Tests.Silverlight.UnitTestProvider.Example/App.xaml.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;
    }