小编Jav*_*Man的帖子

如何排除黄瓜标签

我有一堆带有各种黄瓜标签的IT案例.在我的主要跑步者课程中,我想排除所有具有@one或@two的场景.所以,下面是我尝试选项1的选项

@CucumberOptions(tags=Array("~@one,~@two"), .....)
Run Code Online (Sandbox Code Playgroud)

选项2

@CucumberOptions(tags=Array("~@one","~@two").....
Run Code Online (Sandbox Code Playgroud)

当我尝试使用选项一时,用@two标记的测试用例开始执行,而第二个选项则没有.根据黄瓜文档,当标记被提及时,将保持OR "@One,@Two".如果是这种情况,为什么不排除工作方式相同,即第一种选择?

更新:这段代码是用scala编写的.

java scala cucumber cucumber-junit

11
推荐指数
1
解决办法
2万
查看次数

为什么在Scala中用`def`覆盖`var`是不可能的?

虽然我理解为什么a var不能覆盖valin子类,反之亦然,但我无法理解为什么Scala不允许defin子类覆盖var超类中的

class Car {
  var age = 32
}

class SedanCar extends Car {
  override def age = 54
}
Run Code Online (Sandbox Code Playgroud)

因为var可变,为什么不允许a def覆盖呢?有人可以帮我理解这个吗?

scala liskov-substitution-principle immutability mutability uap

5
推荐指数
1
解决办法
805
查看次数

指令如何在Spray中工作?

我想了解Spray中的指令是如何工作的.根据文件:

指令的一般解剖如下:

name(arguments) { extractions =>
  ... // inner Route
}
Run Code Online (Sandbox Code Playgroud)

我的基本理解是在下面的代码片段中,32作为参数传递给方法test.

test {
  32
}
Run Code Online (Sandbox Code Playgroud)

但是,在上面的指令name示例中,所谓的参数被传递到内部路由,这是一个匿名函数.

有人可以帮我理解语法和流程,从如何提取参数并传递到内部路径?

spray

2
推荐指数
1
解决办法
745
查看次数

如何在sbt build.scala中获取当前项目名称

我有一个使用聚合器的多项目sbt构建.如何在Build.scala中获取当前项目名称?

scala sbt

2
推荐指数
1
解决办法
2011
查看次数

为什么我的简单scala对象在包含未来的同时会挂起一分钟左右

我正在学习scala期货,我已经提出了我的问题.我有一个非常简单的例子

import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent._
import scala.util.{Failure, Success}
/**
 * Created by dummy on 05/02/15.
 */
object FutureUtils extends App{

  val f = Future {
    Thread.sleep(1000)
    println("I am learning scala futures")
    "learning"
  }

  f onComplete {

    case Success(value:String) => println("got the response back")
    case Failure(t: Throwable) => println("did not expect this")

  }

  println("I am still learning")

}
Run Code Online (Sandbox Code Playgroud)

当我按原样运行程序时,输出永远不会打印

得到了回复

相反,看起来它会挂起一分钟左右,而不会打印出预期的输出.我相信我在这里遗漏了一些非常基本的东西.

我也尝试System.in.read()在最后添加,似乎当我输入任何虚拟值时,程序结束打印预期结果.这种行为背后的原因是什么?有人可以帮我理解这个吗?

concurrency scala future

2
推荐指数
1
解决办法
673
查看次数

为什么"回声"不会出现在"ps"中?

我很难理解ps命令中出现的内容.为了测试我的理解,我创建了以下虚拟脚本

 #!/bin/bash
 for i in {1..100000}
 do
  date -u
  date -u
  date -u
 done
Run Code Online (Sandbox Code Playgroud)

在运行此脚本时,我打开了一个新终端并重复执行

ps -eaf | grep date | grep -v grep
Run Code Online (Sandbox Code Playgroud)

我能够在输出中约会过程.

后来我用替换date -u来改变了虚拟脚本echo "what is going on"

     #!/bin/bash
     for i in {1..100000}
     do
      echo "What is going on"
      echo "What is going on"
      echo "What is going on"
     done
Run Code Online (Sandbox Code Playgroud)

在运行更新的虚拟脚本时,我打开了一个新终端并重复执行

ps -eaf | grep echo | grep -v grep
Run Code Online (Sandbox Code Playgroud)

和回声从未在输出中显示.为什么是这样?我怀疑原因是脚本是一个bash脚本,可能是它使用内置echo,因此它没有显示在ps输出中.我对么?我在这里错过了什么?

unix linux bash ps

2
推荐指数
1
解决办法
540
查看次数