小编Int*_*tor的帖子

Scalatest中的BDD:规范与WordSpec和FlatSpec,我应该使用哪个?

在Scalatest中,我对使用Spec与WordSpec的优缺点有点不清楚.我认为javadoc提供了一定程度的WordSpec与FlatSpec的比较,但我不知道Spec和WordSpec.

如果您对这两种语法都感到满意,那么这将被视为"最佳实践"?

WordSpec是Spec的演变(如果有人认为BDD是TDD的进化)吗?或相反亦然?如果他们在这方面完全是平等的,为什么我会选择一个而不是另一个呢?

也许这是一个"宗教问题",但即使是每一方都必须至少有一些他们喜欢指出的优点和缺点.听到这些论点,我会很感兴趣.

如果这是常见问题解答,我提前道歉:我在搜索中找不到任何关于此比较的内容.

bdd scala scalatest

6
推荐指数
1
解决办法
2017
查看次数

如何使用多个可变参数方法(类型橡皮擦问题)在Scala中实现Java接口?

我有一个Scala类正在尝试实现一个Java接口(JavaEE 7中的EntityManager用于特定的单元测试).界面有这两种方法(其中包括):

public StoredProcedureQuery createStoredProcedureQuery(String procedureName, Class... resultClasses);
public StoredProcedureQuery createStoredProcedureQuery(String procedureName, String... resultSetMappings);
Run Code Online (Sandbox Code Playgroud)

在Scala实现中,我有:

override def createStoredProcedureQuery(procedureName: String, resultClasses: Class[_]*): StoredProcedureQuery = ???
override def createStoredProcedureQuery(procedureName: String, resultSetMappings: String*): StoredProcedureQuery = ???
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

MyTest.scala:134: error: double definition:
method createStoredProcedureQuery:(procedureName: String, resultSetMappings: String*)javax.persistence.StoredProcedureQuery and
method createStoredProcedureQuery:(procedureName: String, resultClasses: Class[_]*)javax.persistence.StoredProcedureQuery at line 133
have same type after erasure: (procedureName: String, resultSetMappings: Seq)javax.persistence.StoredProcedureQuery
override def createStoredProcedureQuery(procedureName: String, resultSetMappings: String*): StoredProcedureQuery = ???
Run Code Online (Sandbox Code Playgroud)

我无法想出一个解决方案.我的Google搜索也未能找到并回答.我正在使用Scala 2.10.4.

scala scala-java-interop

6
推荐指数
1
解决办法
965
查看次数

Scala路径依赖类型:从引用到成员val对象的类型似乎不同于直接来自原始val对象的类型?

我的头衔可能并不是真的很好地描述了这个问题.对于我正在做的事情,我不需要这个问题的答案,我现在的事情是正确的,但是当我使用Scala组合器解析器时,我遇到了这个让我感到困惑的问题.我想更好地理解语言(我大部分时间都是Scala新手),所以我想我会看到是否有人可以向我解释这个:

这是代码:

package my.example

import scala.io.Source
import scala.util.parsing.input.StreamReader
import scala.util.parsing.combinator.lexical.StdLexical
import scala.util.parsing.combinator.syntactical.StandardTokenParsers

class DummyParser extends StandardTokenParsers
{
    def scan
    (
        filename : String
    ) : Unit =
    {
        // Read in file
        val input = StreamReader( Source.fromFile( filename ).bufferedReader )
        // I want a reference to lexical in StandardTokenParsers
        val mylexical = lexical
        // Even if I put a type above like these two below it does not help
        // val mylexical : StdLexical = lexical
        // val mylexical : …
Run Code Online (Sandbox Code Playgroud)

scala

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

标签 统计

scala ×3

bdd ×1

scala-java-interop ×1

scalatest ×1