PEX的可扩展性

时间:2012-11-28 12:53:58

标签: pex

我已经通过Pex,Extensions Writer Handbook但是这个文件只有5页,而且没有详细说明。我需要更多关于可扩展性的内容。

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

我被困在哪里,我需要根据我的逻辑扩展测试方法名称的创建,我应该从哪里开始?是否有针对pex 0.94.x的网络上提供的任何开源项目,我可以将其用于研究和参考?

1 个答案:

答案 0 :(得分: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;
        }
    }
}