首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从单元测试自动生成类?

从单元测试自动生成类?
EN

Stack Overflow用户
提问于 2008-09-18 10:58:57
回答 8查看 1.4K关注 0票数 19

我正在寻找一种可以进行单元测试的工具,比如

代码语言:javascript
复制
IPerson p = new Person();
p.Name = "Sklivvz";
Assert.AreEqual("Sklivvz", p.Name);

并自动生成相应的存根类和接口

代码语言:javascript
复制
interface IPerson         // inferred from IPerson p = new Person();
{
    string Name 
    { 
        get;              // inferred from Assert.AreEqual("Sklivvz", p.Name);
        set;              // inferred from p.Name = "Sklivvz";
    }
}

class Person: IPerson     // inferred from IPerson p = new Person();
{
    private string name;  // inferred from p.Name = "Sklivvz";

    public string Name    // inferred from p.Name = "Sklivvz";
    {
        get
        {
            return name;  // inferred from Assert.AreEqual("Sklivvz", p.Name);
        }
        set
        {
            name = value; // inferred from p.Name = "Sklivvz";
        }
    }

    public Person()       // inferred from IPerson p = new Person();
    {
    }
}

我知道ReSharper和Visual Studio会做一些这样的事情,但我需要一个完整的工具--命令行或诸如此类的东西--它能自动推断出需要做什么。如果没有这样的工具,你将如何编写它(例如,从头开始扩展ReSharper,使用哪些库)?

EN

回答 8

Stack Overflow用户

发布于 2008-09-27 09:47:29

令人惊讶的是,没有人真的对你所要求的东西给予任何东西。

我不知道答案,但我会给出我的想法。

如果我自己尝试写这样的东西,我可能会看到一个resharper插件。我这么说的原因是因为正如你所说的,resharper可以做到这一点,但需要单独的步骤。因此,我会逐行编写代码,并将适当的resharper创建方法链接在一起。

现在我根本不知道怎么做,因为我从来没有为resharper构建过任何东西,但这就是我想要做的。这是可以做到的,这是合乎逻辑的。

如果你真的写了一些代码,请把它贴出来,因为我发现它也很有用,能够在一步中生成整个骨架。非常有用。

票数 3
EN

Stack Overflow用户

发布于 2008-09-18 11:13:13

如果您计划编写自己的实现,我强烈建议您考虑一下NVelocity (C#)或Velocity (Java)模板引擎。

我以前在代码生成器中使用过它们,并发现它们使工作变得容易得多。

票数 1
EN

Stack Overflow用户

发布于 2009-01-07 14:35:23

这是可行的-至少在理论上是可行的。我要做的是使用像csparser这样的东西来解析单元测试(不幸的是,您不能编译它),然后从那里获取它。我能看到的唯一问题是,您正在做的事情在方法上是错误的-从实体类生成单元测试(实际上,Visual Studio正是这样做的)比从实体类生成单元测试更有意义。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/91617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档