在 mvc4 应用程序中测试响应时间 Asp.net



我有一个 asp.net 的 mvc4 应用程序,其中我有这个类

public class Arbre
{
    public int id_resp = -1;
    Admin notre_admin = new Admin();
    List<Task> _la_liste = new List<Task>();
    public Arbre(int id)
    {
        id_resp = id;
    }
    public List<Task> GetTasksOfExpert(int id_user) {
        List<int> liste =  notre_admin.GetTasksOfExpert(id_user);
        List<Task> liste_finale = new List<Task>();
        for (int i = 0; i < liste.Count; i++) {
            liste_finale.Add(notre_admin.GetTaskListByAffaire(null).Find(x => x.Id_tache == liste[i]));
        }
        return liste_finale;
    }
    public List<Task> GetTasksOfChef(int id_user)
    {
        List<int> liste = notre_admin.GetTasksOfChef(id_user);
        List<Task> liste_finale = new List<Task>();
        for (int i = 0; i < liste.Count; i++)
        {
            liste_finale.Add(notre_admin.GetTaskListByAffaire(null).Find(x => x.Id_tache == liste[i]));
        }
        return liste_finale;
    }
}

我想添加一个测试,帮助我知道每种方法的大致时间,以便优化我的代码。

  • 我该怎么做?
  • 单元测试可以做到这一点吗?

有许多商业产品可以让你分析你的代码(RedGate的Ants Profiler是一个跃入脑海的产品)。正如Marcom提到的,MiniProfiler非常好(它是免费的,非常易于设置和使用)。

另一个更复杂的替代方法是调查 AOP 并围绕您的方法实现允许您记录持续时间的功能。我使用Unity的AOP功能来实现类似的东西(与Log4Net结合使用)。

你可以

为此使用一种形式的单元测试,但这更像是一个集成测试而不是单元测试(例如,在你的集成测试中,你可以设置一个计时器并测量方法执行持续时间)。集成测试的运行速度可能很慢,您不一定能够从生产系统获取性能指标。

有许多现成的工具可以帮助您实现这一目标。我最喜欢的一个是迷你剖析器

我会试一试,看看它是否适合您的需求。

相关内容

  • 没有找到相关文章

最新更新