search
menu Navigation
Architekturen mit Specs2 prüfen

Architekturen mit Specs2 prüfen

6. November 2013

Unit Tests einzusetzen, um die gewünschte Paketstruktur einer Architektur einzusetzen ist ein alter, aber leider nicht so häufig eingesetzter Trick. Er lässt sich recht einfach mit JDepend in Projekten umsetzen, und ist sehr gut hier dokumentiert: http://www.clarkware.com/software/JDepend.html#junit

In Scala geht dies mit Hilfe des Specs2 Test Frameworks noch einfacher, weil es bereits einen Matcher dafür vorsieht. Dieser ist zwar zur Zeit nur für einfache Zwecke geeignet, kann aber auch leicht selbst angepasst werden.

[code]

package design

import org.specs2.mutable._
import org.specs2.specification.Analysis

class DependencySpec extends SpecificationWithJUnit with Analysis {

val design = layers( // 4 Schichten definieren
„view“,
„controllers“,
„backend“,
„model util“
).inTargetDir(„target/scala-2.10/classes“)

„Program design“ should {
„adhere to layer structure“ in {
design must beRespected
}
}
}

[/code]

Der Test kann dann ganz einfach ausgeführt werden und berichtet über eventuelle Verstöße, bzw. in einer netten Welt ist alles grün:

 

[code]

[info] DependencySpec
[info] Program design should
[info] + adhere to layer structure
[info] Total for specification DependencySpec
[info] Finished in 868 ms
[info] 1 example, 0 failure, 0 error
[info] Passed: Total 1, Failed 0, Errors 0, Passed 1

[/code]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Ich erkläre mich mit den Datenschutzhinweisen und der Datenschutzinformation.