1

Spring MVC コントローラーでこのメソッドを定義しました

@PreAuthorize("isAuthenticated() and hasPermission(#request, 'CREATE_REQUISITION')")
    @RequestMapping(method = RequestMethod.POST, value = "/trade/createrequisition")
    public @ResponseBody
    void createRequisition(@RequestBody CreateRequisitionRO[] request,
            @RequestHeader("validateOnly") boolean validateOnly) {
.....
}

次に、TestNG テストでこのメソッドを呼び出して、PreAuthorize 条件が検証されていることを確認します。このメソッドを通常の方法で (テストではなく) 呼び出すと、PreAuthorize が検証されます。

可能であれば、TestNG テストでこの注釈をテストする方法と、例外がスローされた場合に例外をキャッチする方法は?

よろしくお願いします

4

2 に答える 2

2

テストで春のセキュリティを有効にする必要があるのは「だけ」です。- 通常のアプリケーションで行ったのと同じ方法。

ところで: 私自身の経験から、Spring Security を使用しないテストから、Spring Security を有効にするテストを分割することを強くお勧めします。

于 2013-03-21T06:00:19.833 に答える
2

私の意見では、単体テストでそれをテストすることについて心配する必要はありません。メソッドのみをテストする必要があります。

代わりに、このシナリオの統合または機能テストを作成する必要があります。このためにアプリケーション全体が初期化されるため、すべてのシナリオをテストできます。

于 2013-03-21T04:45:37.533 に答える