簡體   English   中英

我將如何對該Nhibernate查詢進行單元測試?

[英]how would I unit test this nhibernate query?

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


            return category;
        }

還是很明確,不需要測試?

我認為可能需要編寫一些測試:

  1. 測試您是否獲得了一個與命名類別池中指定的名稱相匹配的類別。
  2. 測試您是否從具有相同名稱的類別池中獲得一個類別。
  3. 使用類別池中不存在的名稱,測試您是否為空。

至於它在哲學上足夠清晰,不需要測試。 我認為這是一個見解。 如果您已經寫了300萬行,並且確信它能按預期運行,那么您可能會發現它不值得花時間。 但是,如果是新地形,總是值得花額外的時間來確保它按預期工作。

僅僅因為代碼清晰並不意味着不應對它進行單元測試。

測試很簡單,給它起一個名字,它會給您正確的類別嗎? 不是NULL嗎?

您今天也不只是為此方法編寫測試。 如果將來您重構了怎么知道您沒有引入重大更改該怎么辦?

盡管您擁有一個以上具有相同名稱的類別會發生什么,這仍然很清楚,盡管如此? 如果由於您的體系結構而無法實現(在其他地方強制執行唯一性),則值得評論以表明這一事實。

就個人而言,我不會對此進行單元測試。 我會改寫一些集成測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM