The Will Will Web - Unit Testing 記載著 Will 在網路世界的學習心得與技術分享 https://blog.miniasp.com/ http://www.rssboard.org/rss-specification BlogEngine.NET 3.3.7.0 zh-TW https://blog.miniasp.com/opml.axd https://blog.miniasp.com/syndication.axd Will Huang The Will Will Web 24.567110 120.970500 整理幾個 Angular 單元測試的學習資源與注意事項 <p>最近嘗試在 Angular 的「獨立元件」架構下撰寫單元測試,發現有些技巧官方文件沒寫清楚的問題,需要特別注意。除此之外,這篇文章我還打算整理一些學習資源給大家參考。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2024/02/21/Angular-Unit-Testing-Learning-Resources-and-provideHttpClientTesting#continue">繼續閱讀</a> ...</p> https://blog.miniasp.com/post/2024/02/21/Angular-Unit-Testing-Learning-Resources-and-provideHttpClientTesting [email protected] https://blog.miniasp.com/post/2024/02/21/Angular-Unit-Testing-Learning-Resources-and-provideHttpClientTesting#comment https://blog.miniasp.com/post.aspx?id=8053cd3c-0494-4f3b-9896-294a91802ea1 週三, 21 二月 2024 15:59:00 +0000 Angular Unit Testing angular 單元測試 will https://blog.miniasp.com/pingback.axd https://blog.miniasp.com/post.aspx?id=8053cd3c-0494-4f3b-9896-294a91802ea1 https://blog.miniasp.com/trackback.axd?id=8053cd3c-0494-4f3b-9896-294a91802ea1 https://blog.miniasp.com/post/2024/02/21/Angular-Unit-Testing-Learning-Resources-and-provideHttpClientTesting#comment https://blog.miniasp.com/syndication.axd?post=8053cd3c-0494-4f3b-9896-294a91802ea1 如何在 VS Code 順利啟用測試總管 (Test Explorer) 測試 .NET 應用程式 <p>我最近在嘗試使用 <a href="https://github.com/features/copilot">GitHub Copilot</a> 來撰寫單元測試,而在使用的過程中,我發現 <a href="https://code.visualstudio.com/">Visual Studio Code</a> 的測試總管 (Test Explorer) 竟然抓不到我專案中的測試案例,研究了一下才發現是 <a href="https://marketplace.visualstudio.com/items?itemName=formulahendry.dotnet-test-explorer">.NET Core Test Explorer</a> 沒有正確設定導致的。不過,其實 <a href="https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit">C# Dev Kit</a> 擴充套件本來就內建了 C# 的測試轉接器 (Test Adapter),不需要 <code>.NET Core Test Explorer</code> 就能跑,索性我就把套件刪除了。今天這篇文章我就來分享如何設定讓 <code>C# Dev Kit</code> 能夠正確的啟用測試總管 (Test Explorer),方便我們執行單元測試。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2023/11/25/Testing-CSharp-with-CSharp-Dev-Kit-in-Visual-Studio-Code#continue">繼續閱讀</a> ...</p> https://blog.miniasp.com/post/2023/11/25/Testing-CSharp-with-CSharp-Dev-Kit-in-Visual-Studio-Code [email protected] https://blog.miniasp.com/post/2023/11/25/Testing-CSharp-with-CSharp-Dev-Kit-in-Visual-Studio-Code#comment https://blog.miniasp.com/post.aspx?id=325d7fa3-0eef-4b90-b3a1-cd38f02f04a1 週六, 25 十一月 2023 07:57:00 +0000 .NET Core ASP.NET Core C# Unit Testing vscode testing xunit nunit mstest GitHub Copilot will https://blog.miniasp.com/pingback.axd https://blog.miniasp.com/post.aspx?id=325d7fa3-0eef-4b90-b3a1-cd38f02f04a1 https://blog.miniasp.com/trackback.axd?id=325d7fa3-0eef-4b90-b3a1-cd38f02f04a1 https://blog.miniasp.com/post/2023/11/25/Testing-CSharp-with-CSharp-Dev-Kit-in-Visual-Studio-Code#comment https://blog.miniasp.com/syndication.axd?post=325d7fa3-0eef-4b90-b3a1-cd38f02f04a1 使用 Playwright for .NET 開發 E2E 端對端測試程式 <p>最近迷上了 Playwright 這套 E2E 框架,他不但同時支援 Chromium, Firefox 與 WebKit 瀏覽器,還可以跨平台支援 Windows, macOS 與 Linux,而且針對 SPA 類型的應用程式進行 E2E 測試完全不用撰寫太多非常 Hacky 的程式碼,寫起來非常的順手。除此之外,他還同時支援 <a href="https://playwright.dev/">JavaScript &amp; TypeScript</a>, <a href="https://playwright.dev/python/docs/intro">Python</a>, <a href="https://playwright.dev/dotnet/docs/intro">.NET</a> 與 <a href="https://playwright.dev/java/docs/intro">Java</a> 等程式語言,相當容易上手。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2021/09/12/Writing-E2E-Testing-using-Playwright-for-NET#continue">繼續閱讀</a> ...</p> https://blog.miniasp.com/post/2021/09/12/Writing-E2E-Testing-using-Playwright-for-NET [email protected] https://blog.miniasp.com/post/2021/09/12/Writing-E2E-Testing-using-Playwright-for-NET#comment https://blog.miniasp.com/post.aspx?id=bb0a4ec1-3575-4da2-8884-78ab0b94fcf2 週日, 12 九月 2021 02:53:00 +0000 .NET Core Unit Testing Playwright E2E testing will https://blog.miniasp.com/pingback.axd https://blog.miniasp.com/post.aspx?id=bb0a4ec1-3575-4da2-8884-78ab0b94fcf2 https://blog.miniasp.com/trackback.axd?id=bb0a4ec1-3575-4da2-8884-78ab0b94fcf2 https://blog.miniasp.com/post/2021/09/12/Writing-E2E-Testing-using-Playwright-for-NET#comment https://blog.miniasp.com/syndication.axd?post=bb0a4ec1-3575-4da2-8884-78ab0b94fcf2 一次搞懂單元測試、整合測試、端對端測試之間的差異 <p>網站建置不是件簡單的事,我們都知道網站做好之後,有好多細節需要兼顧,所以許多公司花了大量的時間與金錢,耗用人力對維護中的網站進行不斷的、重複的人工測試,想達到的目的不外乎是希望網站不要出錯,可以給客戶/使用者最好的網站使用體驗。但你是否知道<strong>單元測試</strong>、<strong>整合測試</strong>、<strong>端對端測試</strong>之間的差異在哪裡?本篇文章將闡述他們之間不同的部分。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2019/02/18/Unit-testing-Integration-testing-e2e-testing#continue">繼續閱讀</a> ...</p> https://blog.miniasp.com/post/2019/02/18/Unit-testing-Integration-testing-e2e-testing [email protected] https://blog.miniasp.com/post/2019/02/18/Unit-testing-Integration-testing-e2e-testing#comment https://blog.miniasp.com/post.aspx?id=a7158c62-2982-4a7c-b324-a4ac721222b4 週一, 18 二月 2019 08:02:00 +0000 Angular JavaScript Unit Testing 單元測試 整合測試 端對端測試 E2E testing will https://blog.miniasp.com/pingback.axd https://blog.miniasp.com/post.aspx?id=a7158c62-2982-4a7c-b324-a4ac721222b4 https://blog.miniasp.com/trackback.axd?id=a7158c62-2982-4a7c-b324-a4ac721222b4 https://blog.miniasp.com/post/2019/02/18/Unit-testing-Integration-testing-e2e-testing#comment https://blog.miniasp.com/syndication.axd?post=a7158c62-2982-4a7c-b324-a4ac721222b4 ASP.NET MVC 單元測試系列 (7):Visual Studio Unit Test <p>透過 Visual Studio 裡的整合開發環境 (IDE) 結合單元測試開發是再便利不過的了,在 Visual Studio 開發工具中已經內建一套 Visual Studio Unit Testing 框架 (Framework),可以方便協助你開發各式單元測試或整合測試的程式,工欲善其事、必先利其器,要善用他就必須先瞭解他,否則還是會事倍功半的,本篇文章會著重在 Visual Studio Unit Test 框架的概要介紹與快速上手的注意事項。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2010/10/04/ASPNET-MVC-Unit-Testing-Part-07-Visual-Studio-Unit-Test-Framework#continue">繼續閱讀</a> ...</p> https://blog.miniasp.com/post/2010/10/04/ASPNET-MVC-Unit-Testing-Part-07-Visual-Studio-Unit-Test-Framework [email protected] https://blog.miniasp.com/post/2010/10/04/ASPNET-MVC-Unit-Testing-Part-07-Visual-Studio-Unit-Test-Framework#comment https://blog.miniasp.com/post.aspx?id=b644f622-be94-40ec-8fab-6c13d78d545d 週一, 4 十月 2010 16:08:05 +0000 ASP.NET MVC Unit Testing ASP.NET MVC 2 unit testing Visual Studio 2010 Visual Studio 2008 單元測試 will https://blog.miniasp.com/pingback.axd https://blog.miniasp.com/post.aspx?id=b644f622-be94-40ec-8fab-6c13d78d545d https://blog.miniasp.com/trackback.axd?id=b644f622-be94-40ec-8fab-6c13d78d545d https://blog.miniasp.com/post/2010/10/04/ASPNET-MVC-Unit-Testing-Part-07-Visual-Studio-Unit-Test-Framework#comment https://blog.miniasp.com/syndication.axd?post=b644f622-be94-40ec-8fab-6c13d78d545d ASP.NET MVC 單元測試系列 (6):測試 Routing 路由規則 <p>有了前 5 篇的觀念支持,我們要開始對 ASP.NET MVC 專案的各個部分進行單元測試了,接下來的文章就會是一篇一篇的單元測試開發技巧,如果各位還有觀念上不清楚的地方,我會再用其他文章來解釋模稜兩可的觀念,尤其是介於「單元測試」與「整合測試」之間的灰色地帶或 TDD (測試導向開發) 等觀念,我想總要先讓各位先打從心裡願意開始撰寫單元測試比較重要吧!今天的文章會講解 ASP.NET MVC 的 Routing 路由規則如何進行單元測試。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2010/09/23/ASPNET-MVC-Unit-Testing-Part-06-Routing#continue">繼續閱讀</a> ...</p> https://blog.miniasp.com/post/2010/09/23/ASPNET-MVC-Unit-Testing-Part-06-Routing [email protected] https://blog.miniasp.com/post/2010/09/23/ASPNET-MVC-Unit-Testing-Part-06-Routing#comment https://blog.miniasp.com/post.aspx?id=af81608b-885b-4980-bea5-73f5f0e8d004 週四, 23 九月 2010 00:43:14 +0000 ASP.NET MVC Unit Testing ASP.NET MVC 2 routedata Routing MvcContrib will https://blog.miniasp.com/pingback.axd https://blog.miniasp.com/post.aspx?id=af81608b-885b-4980-bea5-73f5f0e8d004 https://blog.miniasp.com/trackback.axd?id=af81608b-885b-4980-bea5-73f5f0e8d004 https://blog.miniasp.com/post/2010/09/23/ASPNET-MVC-Unit-Testing-Part-06-Routing#comment https://blog.miniasp.com/syndication.axd?post=af81608b-885b-4980-bea5-73f5f0e8d004 ASP.NET MVC 單元測試系列 (5):瞭解 Stub 假物件 <p>前天的文章我介紹了 Mock 假物件 (Fake Object),今天要講另一種假物件稱為 Stub 假物件,這種假物件目的與用途都跟 Mock 非常相近,總之就是為了讓單元測試程式可以順利執行而生的一種開發方式,這兩種<strong>假物件</strong>類型在單元測試的領域都非常重要,而且各有各的存在必要性,在日後單元測試的日子裡都會經常用到這兩個東西。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2010/09/17/ASPNET-MVC-Unit-Testing-Part-05-Using-Stub-Object#continue">繼續閱讀</a> ...</p> https://blog.miniasp.com/post/2010/09/17/ASPNET-MVC-Unit-Testing-Part-05-Using-Stub-Object [email protected] https://blog.miniasp.com/post/2010/09/17/ASPNET-MVC-Unit-Testing-Part-05-Using-Stub-Object#comment https://blog.miniasp.com/post.aspx?id=985ffd6b-6b2a-4954-85a6-37b81226de99 週五, 17 九月 2010 16:00:00 +0000 ASP.NET MVC Unit Testing ASP.NET MVC 2 unit testing Mock Stub 單元測試 MvcContrib will https://blog.miniasp.com/pingback.axd https://blog.miniasp.com/post.aspx?id=985ffd6b-6b2a-4954-85a6-37b81226de99 https://blog.miniasp.com/trackback.axd?id=985ffd6b-6b2a-4954-85a6-37b81226de99 https://blog.miniasp.com/post/2010/09/17/ASPNET-MVC-Unit-Testing-Part-05-Using-Stub-Object#comment https://blog.miniasp.com/syndication.axd?post=985ffd6b-6b2a-4954-85a6-37b81226de99 ASP.NET MVC 單元測試系列 (4):單元測試的目的與價值 <p>透過前三篇的系列文章,不知道初學者能不能上手開發單元測試,畢竟這對許多人來說是個新玩意,不只是單元測試是新的,可能許多人連 ASP.NET MVC 都沒玩過,那就更難跟上了,不過<strong><font color="#0000ff">只要有心,人人都可以當大師</font></strong> (靈感來自於周星馳經典台詞之食神)。若你開發的是 ASP.NET MVC Web 應用程式,到底單元測試要測試些什麼?可以測試些什麼?測試的範圍又是多少呢?</p><p>... <a class="more" href="https://blog.miniasp.com/post/2010/09/16/ASPNET-MVC-Unit-Testing-Part-04-The-Purpose-and-Value#continue">繼續閱讀</a> ...</p> https://blog.miniasp.com/post/2010/09/16/ASPNET-MVC-Unit-Testing-Part-04-The-Purpose-and-Value [email protected] https://blog.miniasp.com/post/2010/09/16/ASPNET-MVC-Unit-Testing-Part-04-The-Purpose-and-Value#comment https://blog.miniasp.com/post.aspx?id=d6600ea9-b3c8-4115-b9d7-4dd94bbabeb8 週四, 16 九月 2010 17:36:32 +0000 Unit Testing ASP.NET MVC ASP.NET MVC 2 unit testing 單元測試 will https://blog.miniasp.com/pingback.axd https://blog.miniasp.com/post.aspx?id=d6600ea9-b3c8-4115-b9d7-4dd94bbabeb8 https://blog.miniasp.com/trackback.axd?id=d6600ea9-b3c8-4115-b9d7-4dd94bbabeb8 https://blog.miniasp.com/post/2010/09/16/ASPNET-MVC-Unit-Testing-Part-04-The-Purpose-and-Value#comment https://blog.miniasp.com/syndication.axd?post=d6600ea9-b3c8-4115-b9d7-4dd94bbabeb8 ASP.NET MVC 單元測試系列 (3):瞭解 Mock 假物件 ( moq ) <p>我們在<a href="/post/2010/09/14/ASPNET-MVC-Unit-Testing-Part-02-Testability" rel="nofollow" target="_blank">上一篇</a>已經得知「可測試性」的思考方向,在本篇文章我們將利用 Mocking 技術強化之前修改過的測試程式,讓我們的單元測試程式可以完全脫離「外部資源」的魔掌 (在此範例是指<strong>資料庫連線</strong>),我們將使用 <a href="http://code.google.com/p/moq/" rel="nofollow" target="_blank">moq</a> 工具函式庫協助我們的測試程式更容易、更快速的撰寫,至於 <a href="http://code.google.com/p/moq/" rel="nofollow" target="_blank">moq</a> 的安裝可參考 <a href="http://code.google.com/p/moq/" rel="nofollow" target="_blank">moq</a> 官網或 <a href="http://tlsj.tenlong.com.tw/WebModule/BookSearch/bookSearchViewAction.do?isbn=9789866348624&amp;sid=58261" rel="nofollow" target="_blank">ASP.NET MVC 2 開發實戰</a> 一書【<font color="#0000ff">12-3-7 利用Mock假物件完成單元測試</font>】章節的說明 ( P.398 )。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2010/09/16/ASPNET-MVC-Unit-Testing-Part-03-Using-Mock-moq#continue">繼續閱讀</a> ...</p> https://blog.miniasp.com/post/2010/09/16/ASPNET-MVC-Unit-Testing-Part-03-Using-Mock-moq [email protected] https://blog.miniasp.com/post/2010/09/16/ASPNET-MVC-Unit-Testing-Part-03-Using-Mock-moq#comment https://blog.miniasp.com/post.aspx?id=ca2849c9-1d74-425f-8210-64f48993be23 週四, 16 九月 2010 05:04:01 +0000 ASP.NET MVC Unit Testing asp.net mvc 2 unit testing 單元測試 testability moq Castle DynamicProxy reflection Emit Mock repository will https://blog.miniasp.com/pingback.axd https://blog.miniasp.com/post.aspx?id=ca2849c9-1d74-425f-8210-64f48993be23 https://blog.miniasp.com/trackback.axd?id=ca2849c9-1d74-425f-8210-64f48993be23 https://blog.miniasp.com/post/2010/09/16/ASPNET-MVC-Unit-Testing-Part-03-Using-Mock-moq#comment https://blog.miniasp.com/syndication.axd?post=ca2849c9-1d74-425f-8210-64f48993be23 ASP.NET MVC 單元測試系列 (2):可測試性 (Testability) <p>為什麼人家說 ASP.NET MVC 的可測試性很高?這是真的嗎?為什麼實際在寫 ASP.NET MVC 單元測試的時候卻綁手綁腳的,很多時候連怎麼開始寫測試程式都摸不著頭緒。由於 Web 環境下能開發的功能很多,程式碼的多樣性也很大,有時後複雜度也很高,寫出能動的程式已經不容易了,所以以往總是用隨心所欲的方式開發,不過現在不能這樣寫了,為了讓開發過程中都能不斷的撰寫單元測試,有時後你必須妥協,寫程式的時候要時時刻刻想到你寫的這行程式碼需要被測試,所以你要套用一些 <strong>設計樣式</strong> (Design Pattern) 來撰寫程式,好讓你未來撰寫測試的日子更加好過。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2010/09/14/ASPNET-MVC-Unit-Testing-Part-02-Testability#continue">繼續閱讀</a> ...</p> https://blog.miniasp.com/post/2010/09/14/ASPNET-MVC-Unit-Testing-Part-02-Testability [email protected] https://blog.miniasp.com/post/2010/09/14/ASPNET-MVC-Unit-Testing-Part-02-Testability#comment https://blog.miniasp.com/post.aspx?id=398b86db-f1b6-47aa-af25-f80ca3e7ae76 週二, 14 九月 2010 17:33:13 +0000 Unit Testing ASP.NET MVC asp.net mvc 2 unit testing repository testability 單元測試 will https://blog.miniasp.com/pingback.axd https://blog.miniasp.com/post.aspx?id=398b86db-f1b6-47aa-af25-f80ca3e7ae76 https://blog.miniasp.com/trackback.axd?id=398b86db-f1b6-47aa-af25-f80ca3e7ae76 https://blog.miniasp.com/post/2010/09/14/ASPNET-MVC-Unit-Testing-Part-02-Testability#comment https://blog.miniasp.com/syndication.axd?post=398b86db-f1b6-47aa-af25-f80ca3e7ae76 ASP.NET MVC 單元測試系列 (1):新手上路 / 開始撰寫! <p>因為軟體測試越來越重要,而單元測試正是跨出軟體測試重要的第一步,不過軟體測試的學習之路卻異常艱辛,最主要的難處在於沒有人可以討論,不知道什麼是對?什麼是錯?判斷的依據在哪?哪個決定好?哪個決定壞?什麼才是最恰當的?千千萬萬個疑問不知道從何下手?所以我預計寫一系列與 ASP.NET MVC 單元測試的文章,一方面透過寫作的過程幫助自己釐清各種測試的觀念,另一方面也可以跟四面八方開發人員互動,期望能獲得最正確的觀念。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2010/09/14/ASPNET-MVC-Unit-Testing-Part-01-Kick-off#continue">繼續閱讀</a> ...</p> https://blog.miniasp.com/post/2010/09/14/ASPNET-MVC-Unit-Testing-Part-01-Kick-off [email protected] https://blog.miniasp.com/post/2010/09/14/ASPNET-MVC-Unit-Testing-Part-01-Kick-off#comment https://blog.miniasp.com/post.aspx?id=0113e02b-5343-4443-8670-fee5f56ae85a 週二, 14 九月 2010 10:14:00 +0000 ASP.NET MVC Unit Testing ASP.NET MVC 2 unit testing 3A Pattern 單元測試 will https://blog.miniasp.com/pingback.axd https://blog.miniasp.com/post.aspx?id=0113e02b-5343-4443-8670-fee5f56ae85a https://blog.miniasp.com/trackback.axd?id=0113e02b-5343-4443-8670-fee5f56ae85a https://blog.miniasp.com/post/2010/09/14/ASPNET-MVC-Unit-Testing-Part-01-Kick-off#comment https://blog.miniasp.com/syndication.axd?post=0113e02b-5343-4443-8670-fee5f56ae85a 與 Roy Osherove 探討單元測試的藝術 (心得筆記) <p>過年期間在家聽了 <a href="http://hanselminutes.com/default.aspx?showID=187" target="_blank" rel="nofollow">The Art of Unit Testing with Roy Osherove</a> 節目,感覺獲益良多,因此將節目的對話內容做了個簡單的整理,由於是 <a href="http://www.hanselman.com/blog/" target="_blank" rel="nofollow">Scott Hanselman</a> 與 <a href="http://weblogs.asp.net/rosherove/" target="_blank" rel="nofollow">Roy Osherove</a> 的現場對話,內容感覺有點雜亂,我不確定可否將重點整理的夠清楚,但有些 <a href="http://weblogs.asp.net/rosherove/" target="_blank" rel="nofollow">Roy Osherove</a> 分享的觀念是我覺得是很棒的,也解開我這段時間懵懵懂懂的 TDD 觀念,大家可以看完若覺得有問題可以留言討論看看。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2010/02/21/The-Art-of-Unit-Testing-with-Roy-Osherove-Notes#continue">繼續閱讀</a> ...</p> https://blog.miniasp.com/post/2010/02/21/The-Art-of-Unit-Testing-with-Roy-Osherove-Notes [email protected] https://blog.miniasp.com/post/2010/02/21/The-Art-of-Unit-Testing-with-Roy-Osherove-Notes#comment https://blog.miniasp.com/post.aspx?id=08b6ce69-0fa8-4b3b-a60c-60b9b937b864 週日, 21 二月 2010 10:37:00 +0000 Unit Testing tdd typemock unit testing roy osherove 單元測試 will https://blog.miniasp.com/pingback.axd https://blog.miniasp.com/post.aspx?id=08b6ce69-0fa8-4b3b-a60c-60b9b937b864 https://blog.miniasp.com/trackback.axd?id=08b6ce69-0fa8-4b3b-a60c-60b9b937b864 https://blog.miniasp.com/post/2010/02/21/The-Art-of-Unit-Testing-with-Roy-Osherove-Notes#comment https://blog.miniasp.com/syndication.axd?post=08b6ce69-0fa8-4b3b-a60c-60b9b937b864