有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案