我需要使用JUnit(而不是Sonar runner或任何工具)來執行Java自定義聲納規則。使用junit執行自定義Java聲納規則
例如,如果存在自定義插件列表,則爲 。我希望使用由Sonar提供的JUnit API針對任何項目執行這些規則,例如, JavaCheckVerifier.verify(「MyClass.java」,new MyCustomPlugin());
這可能嗎?
我需要使用JUnit(而不是Sonar runner或任何工具)來執行Java自定義聲納規則。使用junit執行自定義Java聲納規則
例如,如果存在自定義插件列表,則爲 。我希望使用由Sonar提供的JUnit API針對任何項目執行這些規則,例如, JavaCheckVerifier.verify(「MyClass.java」,new MyCustomPlugin());
這可能嗎?
我99%確定答案是否定的。 Sonar自定義角色設計爲在Sonar上運行。你知道(或者你能找到)爲什麼有一個「需求」來運行JUnit的規則?這聽起來像是一個關於實施的假設的「要求」。
更好的要求是能夠找出構建中的靜態分析失敗。或者在測試時間。或者是其他東西。
是的,要求是假設。我們希望在沒有安裝Sonar的情況下執行聲納規則。它應該和下載Sonar依賴一樣簡單,並且在沒有任何設置的情況下執行規則。 – Sonali
看起來你會選擇使用聲納,如果你想要聲納規則。或者如果您不想使用Sonar,請使用像PMD這樣的開源工具。這就是爲什麼我問到真正的要求。這可能是你想知道Sonar碰巧實施的某些規則的結果。 –
有可能做到這一點,但問題是:爲什麼你要做到這一點(測試你的自定義插件除外)?這將會破壞SonarJava分析器API以從Junit測試中獲取所需的東西,並且我很難看出其中的價值。所以:你想達到什麼樣的目標? – benzonico