差異處
這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 下次修改 Both sides next revision | ||
java:code_quality [2018/06/02 09:36] tony [JUnit] |
java:code_quality [2022/09/11 22:36] tony [Resource] |
||
---|---|---|---|
行 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]] | ||
+ | ===== 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官方網站]] |