使用IProvideDynamicTestMethods进行silverlight 4单元测试

时间:2011-09-20 16:50:50

标签: unit-testing silverlight-4.0

有没有人幸运创建自定义测试类并使用 IProvideDynamicTestMethods 界面?我有一个案例,我需要动态生成测试方法,这似乎是我需要的。我的目标是根据我正在测试的一些文件生成测试方法。

Jeff Wilcox提到这是SL3中的一项新功能(http://www.jeff.wilcox.name/2008/09/rc0-new-test-features/,请参阅动态测试方法部分),但我无法找到任何此示例。

我不知道如何注册我的自定义测试类(它继承自ITestClass)。我查看了SL4单元测试源,看看如何发现测试类,我在 UnitTestFrameworkAssembly.cs source link

中找到了以下内容
    /// <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 :(得分:0)

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

您可以从codeplex here中获取默认Vstt中的代码,然后根据需要进行任何更改。我现在还在尝试这个,所以让我们看看这是怎么回事。我通过查看this github项目得到了这个想法。 关键是要插入你自己的提供程序,这是在Raven.Tests.Silverlight.UnitTestProvider.Example / App.xaml.cs中完成的。

希望这有助于某人