GraphDSL中的java断言
我正在使用akka stream的graphDSL为我的测试框架创建一个DSL,但现在我正在研究如何工作,我认为它不适合
我担心的是,当我在其中一个流中做出断言(false)而不是在测试中传播错误时,它似乎被卡住了
我不知道我是否做错了什么
我的DSL实现如下所示:
def given(message: String, musVersion: MUSVersion = ONE) = Source.single(new message(message, musVersion))
def When(sentence: String) = Flow[message].map(message => {
try {
HttpClient.request(message._1, message._2)
} catch {
case e: Exception => {
HttpResponse[String](e.getMessage, 500, Map())
}
}
})
def Then(sentence: String) = Sink.foreach[HttpResponse[String]](response => {
assert(false)
thenAction(sentence, response)
println(s"######## $x")
})
就像我说的,我的测试被卡住了,而不是因为断言而将测试标记为失败
这里是我的测试代码:
class TestDSL extends MainDSL {
private def generateKey(): String = s"""${UUID.randomUUID().toString}"""
implicit val config = this.getRequestConfig("cassandra")
val message: String = Messages.message(path = "cassandra", key = "Cassandra " + generateKey())
info("This test has as requirement create and find an Entity using cassandra connector")
feature("First DSL") {
scenario(s"This is a prove of concept of the DSL") {
RunnableGraph.fromGraph(GraphDSL.create() { implicit builder =>
given(message) ~> When("I make a request") ~> Then("The return code='200'") ~> AndThen("The payload is not empty")
ClosedShape
}).run()
}
}
}
知道怎么了吗
问候
共 (0) 个答案