我将如何对这个nhibernate查询进行单元测试?

mrb*_*lah 1 c# nhibernate nunit unit-testing

public Category GetByName(string name)
        {
            Category category = Session.CreateCriteria(typeof (Category))
                .Add(Expression.Eq("Name", name))
                .UniqueResult<Category>();


            return category;
        }
Run Code Online (Sandbox Code Playgroud)

还是这么清楚,它不需要测试?

ddc*_*660 6

我认为可能需要编写一些测试:

  1. 测试您是否获得与命名类别池中指定的名称匹配的类别.
  2. 测试您从具有相同名称的类别池中获取一个类别.
  3. 测试在使用类别池中不存在的名称时,您将获得null.

至于它在哲学上足够清楚,不需要测试; 我认为这是一个意见问题.如果你已经写了300万次这条线并确信它能按预期运行,那么你可能觉得不值得花时间.然而,如果它是新的地形,总是值得花费额外的时间来确保它按预期工作.