1

我已经通过 Pex, Extensions Writer Handbook但这个文档只有 5 页,并不详尽。我需要更多关于可扩展性的信息。

我已经访问了http://pex.codeplex.com/,它为不同的测试框架加上 DySy 和 ASE 扩展扩展了 pex。但是,它再次编写了 pex 版本 0.18,当前版本为 0.94.x。许多类被重构和改变。因此,它无法编译。

我被困在哪里,我需要根据我的逻辑扩展测试方法名称的创建,我应该从哪里开始?网络上有没有针对 pex 0.94.x 的开源项目可供我学习和参考?

4

1 回答 1

0

你是对的,该手册对更改测试方法名称创建没有帮助我在这个博客http://tech.rofas.net/?tag=/code上找到了这段代码

class KeepOriginalTestNamesAttribute : PexTestNamerAttributeBase
{
    protected override IPexTestNamer CreateTestNamer(IPexExplorationComponent host)
    {
        return new TestNamer(host);
    }

    class TestNamer : PexExplorationComponentElementBase, IPexTestNamer
    {
        private readonly SafeSet<string> _names;

        public TestNamer(IPexExplorationComponent host) : base(host)
        {
            _names = new SafeSet<string>();
        }

        public bool TryCreateTestName(IPexGeneratedTest test, out string testName)
        {
            var template = ReflectionHelper.EscapeForMetadataName(test.ExplorationName.Method.ShortName);
            testName = MetadataHelper.GetUniqueNumberedName(_names, template);
            _names.Add(testName);
            Debug.WriteLine("*** " + testName + " ***");
            Debug.WriteLine(test.BodyCode);

            return true;
        }
    }
}
于 2013-08-12T17:41:22.867 回答