【问题标题】:Performance Testing using xUnit framework使用 xUnit 框架进行性能测试
【发布时间】:2011-03-05 07:36:56
【问题描述】:

我想知道是否可以基于 xUnit 运行性能测试?

【问题讨论】:

  • 您是在询问 xUnit.net 框架,还是任何“xUnit”框架(如xUnit 测试模式 一书所定义)?

标签: xunit performance-testing


【解决方案1】:

不确定您到底在问什么,但您可以轻松编写自己的自定义属性来做到这一点。举个例子。。

[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
    }
}

然后用 this 属性装饰你的单元测试。还要确保写入输出;)

【讨论】:

  • 在某些情况下它实际上可以提供帮助 - 但仅适用于那些,当测试运行足够长以使 (highperf) 计时器实际运行时,当然存在并发和非确定性等待的经典问题由操作系统注入。真正的解决方案至少会运行给定的单元测试,即。 100 次并测量他的平均速度。但是,在 xUnit 中,我目前不知道有什么比你提供的更好的方法来测量时间,所以有一个 +1 给你 :)
【解决方案2】:

对于 JUnit,您可以查看 JUnitPerf

如果您使用不同的语言和不同的 xUnit,JunitPerf 设计概念(装饰正常的 JUnit 测试)和代码可能会提供有关如何在您的语言中执行相同操作的想法。

【讨论】:

    【解决方案3】:

    现在Github上有一个项目:https://github.com/Microsoft/xunit-performance

    它提供了基于 xUnit 的扩展来编写性能测试(基准测试)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-18
      • 2011-11-23
      • 1970-01-01
      相关资源
      最近更新 更多