差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

Both sides previous revision 前次修改
下次修改
前次修改
java:code_quality [2018/06/02 09:36]
tony [JUnit]
java:code_quality [2023/06/25 09:48] (目前版本)
行 7: 行 7:
   * [[.:​junit:​tech:​ignore|Conditionally ignore tests]]   * [[.:​junit:​tech:​ignore|Conditionally ignore tests]]
   * [[.:​junit:​tech:​capture_log4j_output|How to verify the Log4j output?]]   * [[.:​junit:​tech:​capture_log4j_output|How to verify the Log4j output?]]
 +  * [[java:​junit4:​rules:​temporaryfolder|JUnit4 : TemporaryFolder Rule]]
 ==== Resource ==== ==== Resource ====
   * [[http://​www.ibm.com/​developerworks/​cn/​java/​j-lo-junit-installanywhere/​index.html|Test InstallAnywhere By JUnit]]   * [[http://​www.ibm.com/​developerworks/​cn/​java/​j-lo-junit-installanywhere/​index.html|Test InstallAnywhere By JUnit]]
行 14: 行 15:
   * [[https://​jazz.net/​help-dev/​clm/​index.jsp?​topic=%2Fcom.ibm.rational.test.qm.doc%2Ftopics%2Fc_testsuite_work_flow.html|IBM Rational - testsuite work flow]] 講述testsuite的建置與測試規劃   * [[https://​jazz.net/​help-dev/​clm/​index.jsp?​topic=%2Fcom.ibm.rational.test.qm.doc%2Ftopics%2Fc_testsuite_work_flow.html|IBM Rational - testsuite work flow]] 講述testsuite的建置與測試規劃
   * [[http://​teddy-chen-tw.blogspot.tw/​2013/​04/​eclemmaeclipse-java.html|Eclipse Code Coverage Plugin - EclEmma(JaCoco)]]   * [[http://​teddy-chen-tw.blogspot.tw/​2013/​04/​eclemmaeclipse-java.html|Eclipse Code Coverage Plugin - EclEmma(JaCoco)]]
 +  * [[https://​stackoverflow.com/​questions/​473401/​get-name-of-currently-executing-test-in-junit-4|在console顯示testcase名稱的方法]]
 +  * [[https://​www.codingblocks.net/​podcast/​how-to-write-amazing-unit-tests/​|Clean Code – How to Write Amazing Unit Tests?]]
 +  * [[https://​martinfowler.com/​bliki/​UnitTest.html?​fbclid=IwAR3ljmcfHo9zw6FipOI7vwx1C8HyZIrq20QJQgzxzMVMc5Zy40KGX-qIVUc|martinfowler-unit test]]
 +  * [[https://​tyrrrz.me/​blog/​unit-testing-is-overrated?​fbclid=IwAR07iVReCHk265_pNhhrKN5SFMtZIz1n6PFwApqNm2YozgiE4b96Woyp_xA|Unit Testing is Overrated]]
 +  * [[https://​medium.com/​%E5%BE%8C%E7%AB%AF%E6%96%B0%E6%89%8B%E6%9D%91/​review-software-testing-anti-patterns-35c9b422dc4e|閱讀心得:軟體測試的反面模式(anti-patterns)]]
 +  * [[https://​enterprisecraftsmanship.com/​posts/​when-to-mock/​|When to Mock?]]
 +  * [[https://​enterprisecraftsmanship.com/​|Enterprise Craftsmanship]]
 +  * [[https://​enterprisecraftsmanship.com/​posts/​test-induced-design-damage-or-why-tdd-is-so-painful/​|Enterprise Craftsmanship - TDD related articles]]
 +  * [[http://​xunitpatterns.com/​index.html|XUnit Test Patterns]]
 +  * [[https://​www.testim.io/​blog/​end-to-end-testing-guide/​|E2E Testing]]
 +===== WireMock =====
 +  * [[.:​wiremock:​record-disconnection-behavior|Record Disconnection Behavior]]
 +  * [[.:​wiremock:​record-events-from-webhook|Record Webhook Events]]
 +  * [[.:​wiremock:​launch-wiremock-with-mappings-of-junit|Launch WireMock with mappings file of JUnit]]
 ===== JVisualVM ===== ===== JVisualVM =====
   * [[.:​jvisualvm:​troubleshooting|Throbuleshooting]]   * [[.:​jvisualvm:​troubleshooting|Throbuleshooting]]
-===== Find Bug ===== +===== Code Quality Tools ===== 
-能夠幫你找到code內不好的'​味道'​與隱藏的bug,下面的內容是我邊修邊記錄的內容。友藏內心的獨白:​ 真的找的到bug!\\ +  * [[java:sonarlint|SonarLint]] 
-(*代表我認為最容易犯的錯!) +  * [[java:findbug|FindBug]]
-==== Bad Practice ​==== +
-  * [[.:code_quality:​findbug:​NM_METHOD_NAMING_CONVENTION]] +
-  * [[.:​code_quality:findbug:​NM_CLASS_NAMING_CONVENTION]] +
-==== Dodgy code ==== +
-  * [[.:​code_quality:​findbug:​DMI_HARDCODED_ABSOLUTE_FILENAME]] +
-  * [[.:​code_quality:​findbug:​ICAST_IDIV_CAST_TO_DOUBLE]] ​  +
-==== Performance ==== +
-  * [[.:​code_quality:​findbug:​BX_BOXING_IMMEDIATELY_UNBOXED]] +
-  * [[.:​code_quality:​findbug:​BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION]] +
-  * [[.:​code_quality:​findbug:​DM_NEXTINT_VIA_NEXTDOUBLE]] +
-  * [[.:​code_quality:​findbug:​DM_NUMBER_CTOR]] +
-  * [[.:​code_quality:​findbug:​DM_STRING_CTOR]] +
-  * [[.:​code_quality:​findbug:​DM_STRING_VOID_CTOR]] +
-  * [[.:​code_quality:​findbug:​SBSC_USE_STRINGBUFFER_CONCATENATION]] +
-  * [[.:​code_quality:​findbug:​WMI_WRONG_MAP_ITERATOR]] * +
-==== EXPERIMENTAL ==== +
-  * [[.:​code_quality:​findbug:​OBL_UNSATISFIED_OBLIGATION]] * +
-==== STYLE ==== +
-  * [[.:​code_quality:​findbug:​DLS_DEAD_LOCAL_STORE]] +
-  * [[.:​code_quality:​findbug:​RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE]] +
-==== CORRECTNESS ==== +
-  * [[.:​code_quality:​findbug:​NP_NULL_ON_SOME_PATH]] +
-  * [[.:​code_quality:​findbug:​BIT_IOR_OF_SIGNED_BYTE]] * +
- +
-==== MALICIOUS_CODE ==== +
-  * [[.:​code_quality:​findbug:​EI_EXPOSE_REP1]] * +
-  * [[.:​code_quality:​findbug:​EI_EXPOSE_REP2]] * +
 ==== Reference ==== ==== Reference ====
   - [[http://​findbugs.sourceforge.net/​|FindBugs官方網站]]   - [[http://​findbugs.sourceforge.net/​|FindBugs官方網站]]