2010-06-18 34 views
6

我想知道是否可以运行基于xUnit的性能测试?使用xUnit框架进行性能测试

+4

你在问关于xUnit.net框架,还是仅仅是任何'xUnit'框架(由书* xUnit Test Patterns *定义)? – 2012-02-02 08:48:23

回答

0

对于JUnit,您可能会看到JUnitPerf

如果您使用的是其他语言和不同的xUnit,JunitPerf设计概念(装饰普通的JUnit测试)和代码可能会给出如何在您的语言中执行相同操作的想法。

4

不知道你到底在问什么,但是你可以很容易地编写你自己的自定义属性来做到这一点。举个例子..

[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)] 
public class TraceAttribute : BeforeAfterTestAttribute 
{ 

    public override void Before(MethodInfo methodUnderTest) 
    { 
     //Start timer 
    } 


    public override void After(MethodInfo methodUnderTest) 
    { 
     //End timer 
    } 
} 

然后用这个属性来修饰你的单元测试。也请确保你写入输出;)

+0

对于某些情况下,它实际上可以提供帮助 - 但仅限于那些测试运行足够长(highperf)计时器才能实际打盹的情况,当然还有经OS注入的并发性和非确定性等待的经典问题。真正的解决方案将至少运行给定的单元测试,即。 100次并测量他的平均速度。但是,在xUnit中,我目前还不知道有什么比测量时间更好的方法来衡量时间,所以有一个+1值给你:) – quetzalcoatl 2012-02-27 10:19:39

相关问题