我有一个ember-cli项目,其中包含一些插件 ember generate in-repo-addon foo
当我运行ember serve,烬-CLI结合提供了我的插件资产/app和/lib/foo/app成/dist/assets/app.js.
我期望测试会发生类似的事情.当我运行ember test或浏览时http://localhost:4200/tests,我只看到为主应用程序生成的JSHint测试.我创建的任何内容都会/lib/foo/tests被忽略.
我在哪里为插件创建测试,以及如何运行它们?
我是akka-streams的新手,不知道如何解决这个问题.
我有3个源流按序列ID排序.我想将具有相同ID的值组合在一起.每个流中的值可能丢失或重复.如果一个流是比其他流更快的生产者,它应该得到反压.
case class A(id: Int)
case class B(id: Int)
case class C(id: Int)
case class Merged(as: List[A], bs: List[B], cs: List[C])
import akka.stream._
import akka.stream.scaladsl._
val as = Source(List(A(1), A(2), A(3), A(4), A(5)))
val bs = Source(List(B(1), B(2), B(3), B(4), B(5)))
val cs = Source(List(C(1), C(1), C(3), C(4)))
val merged = ???
// value 1: Merged(List(A(1)), List(B(1)), List(C(1), C(1)))
// value 2: Merged(List(A(2)), List(B(2)), Nil)
// value 3: Merged(List(A(3)), List(B(3)), List(C(3)))
// value 4: Merged(List(A(4)), List(B(4)), List(C(4)))
// value …Run Code Online (Sandbox Code Playgroud) 我希望sbt设置在development(sbt run)中运行时具有与生产(sbt dist/ sbt start)不同的值.
具体来说我使用的是sbt-uglify.我在开发中使用它将javascript资产连接到一个文件中.我在开发中禁用了压缩和修改,因为它使代码更难调试.
在生产中,我想使用压缩来删除调试代码块(if (DEBUG) { ... }),这可能是使用uglifyjs的死代码删除功能.
我希望这可行:
// "in Assets" to use uglify in dev & prod
pipelineStages in Assets := Seq(uglify)
// enable compression and mangling in prod
UglifyKeys.compress := true
UglifyKeys.mangle := true
// disable in development (DOESN'T WORK! Values are always true)
UglifyKeys.compress in Assets := false
UglifyKeys.mangle in Assets := false
Run Code Online (Sandbox Code Playgroud) 我试图用一个抽象的成员覆盖一个特征成员,这似乎很简单,但实际上不会编译.
这是我正在尝试做的一个简单的例子:
// not my code:
trait Base {
val x = new T {}
trait T {}
}
// my code:
trait Sub extends Base {
// compile error; see below
override val x: T2
// this compiles, but doesn't force `Impl` to implement `x`
// override val x: T2 = null
trait T2 extends T {
val someAddition: Any
}
}
object Impl extends Sub {
// should be forced to implement `x` of type `T2`
}
Run Code Online (Sandbox Code Playgroud)
这是编译器错误: …