.NET性能單元測試 NTime
NTime 是一款用來測試 .NET 應用性能的單元測試工具,
using System; using NTime.Framework; namespace NTime.Tests { /// <SUMMARY> /// This is a tested class. /// </SUMMARY> [TimerFixture] public class TestClass { [TimerFixtureSetUp] public void GlobalSetUp() { // initialize one-time initialization data in // this testfixture. } [TimerFixtureTearDown] public void GlobalTearDown() { // release one-time initialized data in // this testfixture. } [TimerSetUp] public void LocalSetUp() { // initialize data for every test found // in this testfixture class } [TimerTearDown] public void LocalTearDown() { // release data for every finished test // found in this testfixture class } [TimerHitCountTest(300, Threads = 3, Unit = TimePeriod.Second)] public void WebRequest() { // invoke some code from real application // to test its functions against specified // performance. // in example we will keep our fictional // web server's response at 10 milliseconds if(System.Threading.Thread.CurrentThread.Name == "NTimeThread_0") System.Threading.Thread.Sleep(5); else if(System.Threading.Thread.CurrentThread.Name == NTimeThread_1") System.Threading.Thread.Sleep(8); else System.Threading.Thread.Sleep(10); } [TimerDurationTest(20, Unit = TimePeriod.Millisecond)] public void GameScreenFlicking() { // we want to calc game AI, 3d engine and // other stuff to keep it running at 50Hz // vertical screen sync. System.Threading.Thread.Sleep(5); } [TimerDurationTest(10, Unit = TimePeriod.Millisecond)] [TimerIgnore("This test is disabled.")] public void SuperSortAlgorithm() { // code here will not be profiled until TimerIgnore // flag was removed. } [TimerCounterTest("Process", "% Processor Time", Threads = 1, InstanceName = "NTimeGUI", MinimumValue = 0, MaximumValue = 50)] public void ProcessorUsage() { // we want to see whether our application is // optimized to work with minimal CPU usage. for(int i = 0; i < 150; i++) { System.Threading.Thread.Sleep(30); } } } }界面如下圖所示:
本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!