小编Cor*_* Wu的帖子

JUnit @Parameterized函数在测试套件中的@BeforeClass之前运行?

我正在使用JUnit测试套件来运行一些测试,其中一个使用@Parameterized运行多次.我发现当我运行测试时,@ Parameterized函数在@BeforeClass之前运行.这是预期的行为还是其他事情发生了?我原以为@BeforeClass会在任何测试开始之前运行.

这是我的测试套件:

@RunWith(Suite.class)
@SuiteClasses({ Test1.class, Test2.class })
public class TestSuite {

    @BeforeClass
    public static void setup() throws Exception {
        // setup, I want this to be run before anything else
    }

}
Run Code Online (Sandbox Code Playgroud)

Test1使用@Parameterized:

public class Test1 {

    private String value;

    // @Parameterized function which appears to run before @BeforeClass setup()
    @Parameterized.Parameters
    public static Collection<Object[]> configurations() throws InterruptedException {

        // Code which relies on setup() to be run first

    }

    public Test1(String value) {
        this.value = value;
    }

    @Test
    public …
Run Code Online (Sandbox Code Playgroud)

java junit integration-testing automated-tests unit-testing

8
推荐指数
3
解决办法
7017
查看次数

Spark - 一次通过RDD上的多个过滤器

我有一个RDD Map[String, String]; 有没有办法filter多次调用它而不经过RDD多次?

例如,我想做这样的事情:

val stateNY = mapRDD.filter(person => person("state").equals("NY"))
val stateOR = mapRDD.filter(person => person("state").equals("OR"))
val stateMA = mapRDD.filter(person => person("state").equals("MA"))
val stateWA = mapRDD.filter(person => person("state").equals("WA"))
Run Code Online (Sandbox Code Playgroud)

还有这个:

val wage10to20 = mapRDD.filter(person => person("wage").toDouble > 10 && person("wage").toDouble <= 20)
val wage20to30 = mapRDD.filter(person => person("wage").toDouble > 20 && person("wage").toDouble <= 30)
val wage30to40 = mapRDD.filter(person => person("wage").toDouble > 30 && person("wage").toDouble <= 40)
val wage40to50 = mapRDD.filter(person => person("wage").toDouble > 40 && person("wage").toDouble <= …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark

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

Android AsyncTask没有调用onPostExecute

当我调用我的AsyncTask时,运行doInBackground,但之后永远不会调用onPostExecute.Eclipse并没有抱怨@OverrideAsyncTask中的s或任何参数,所以我不确定是什么问题.谁能告诉我这是什么问题?

调用AsyncTask:

new AsyncDataFetcher(this).execute(productInfoUrls);
Run Code Online (Sandbox Code Playgroud)

productInfoUrls 是一个网址列表.

的AsyncTask:

private static class AsyncDataFetcher extends AsyncTask<List<String>, Void, List<JSONObject>> {

    Context context;

    public AsyncDataFetcher(Context context) {
        this.context = context;
    }

    @Override
    protected List<JSONObject> doInBackground(List<String>... urls) {
        List<JSONObject> jsonList = new ArrayList<JSONObject>();
        JSONParser json_parse = new JSONParser();
        for (int i = 0; i < urls[0].size(); i ++) {
            jsonList.add(json_parse.getJSONFromUrl(urls[0].get(i)));
        }
        return jsonList;
    }

    @Override
    protected void onPostExecute(List<JSONObject> jsonList) {
        if(jsonList != null){
            productInfoParser.Parse(jsonList); 
            loaded = true;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

android android-asynctask

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

JAXB:注释类型XmlElement的属性名称未定义

当我尝试nameXmlElementfor JAXB 分配属性时,我在Eclipse中收到错误:

The attribute name is undefined for the annotation type XmlElement
Run Code Online (Sandbox Code Playgroud)

我的模型类的示例:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Components {

    Component component;

    @XmlElement(name = "component")  // error on this line
    public void setComponent(Component component) {
        this.component = component;
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图用这个答案.

java xml jaxb

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

Kotlin smart使用过滤器投射了一对的第二个值

我正在尝试编写一个映射String和Int的函数?成对,然后在继续映射之前过滤对中非空的第二个值.

我的代码看起来像这样:

val ids: List<String> = listOf("a", "b", "c")
val ints: Map<String, Int?> = mapOf("a" to 1, "b" to 2, "c" to null)

ids.map { id: String ->
    Pair(id, ints[id])
}.filter { pair -> pair.second != null}.map { pair: Pair<String, Int> ->
    func(id, pair.second)  
}
Run Code Online (Sandbox Code Playgroud)

问题是第二张地图有错误:

Type inference failed: Cannot infer type parameter T in 
                       inline fun <T, R> kotlin.collections.Iterable<T>.map ( transform (T) -> R ): kotlin.collections.List<R>
Run Code Online (Sandbox Code Playgroud)

这看起来是因为编译器不知道聪明地将我Iterable<Pair<String, Int?>>投入到Iterable<Pair<String, Int>>我之后filter.我该怎么做才能解决这个问题?

kotlin

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

Hack - 如何检查实例是否使用了 Trait?

如何检查类的实例是否使用 Trait?我无法使用,instanceof因为 Trait 是不可实例化的。

php hacklang

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

Scala JUnit @BeforeClass 不执行

我正在尝试使用一种@BeforeClass方法运行 Scala Junit 测试。当我运行这个测试类时,该setup()方法永远不会执行。我在这里做错了什么?我使用的是 JUnit 4.12 和 Scala 2.10.5。其余的测试按预期执行。

import org.apache.spark.SparkContext
import org.apache.spark.rdd.RDD
import org.junit.BeforeClass
import org.junit.Test
import junit.framework.TestCase

object PerformanceTest extends TestCase {

  var sc: SparkContext = _;

  @BeforeClass
  def setup(): Unit = {
    if (sc == null) {
        sc = new SparkContext("local", "ANTLR Expression Test")
    }
  }
}

class PerformanceTest extends TestCase {

  @Test
  def testWeightedAverage(): Unit = {
    val csvRDD = PerformanceTest.sc.textFile("src/main/resources/MOCK_DATA.csv")
    // ...
  }
}
Run Code Online (Sandbox Code Playgroud)

junit scala

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

Scala - InvalidClassException:没有有效的构造函数

我创建了一个Serializable版本番石榴的中ImmutableRangeMapBuilder,才能在斯卡拉在我的星火应用程序中使用.我也有一个零参数构造函数SerializableImmutableRangeMap,所以InvalidClassException: no valid constructor当我运行我的Spark应用程序时为什么会得到它?

这是我的SerializableImmutableRangeClass对象和类:

object SerializableImmutableRangeMap extends Serializable {
  final class SerializableBuilder[K <: Comparable[_], V]() extends Serializable {
    val keyRanges: RangeSet[K] = TreeRangeSet.create()
    val rangeMap: RangeMap[K, V] = TreeRangeMap.create()

    def put(range: Range[K], value: V): SerializableBuilder[K, V] = {
      checkNotNull(range)
      checkNotNull(value)
      checkArgument(!range.isEmpty(), "Range must not be empty, but was %s", range)
      if (!keyRanges.complement().encloses(range)) {
        // it's an error case; we can afford an expensive lookup
        for (entry: Entry[Range[K], …
Run Code Online (Sandbox Code Playgroud)

java serialization scala apache-spark

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

Bootstrap通过点击标题使手风琴折叠?

单击标题后如何使手风琴折叠而不仅仅是标题中的文字?现在它只在我点击"Major"时才会崩溃.

JSFiddle:http://jsfiddle.net/P63pp/

我的手风琴html:

<div class="panel-group" id="accordion">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="accordian" href="#collapseMajor">
                    Major
                </a>
            </h4>
        </div>
        <div id="collapseMajor" class="panel-collapse collapse in">
            <div class="panel-body">
                <div class="checkbox">
                    <label>
                        <input type="checkbox" id="All" title="major" class="check-all-majors" checked>
                            All Majors
                    </label>
                </div>
                <div class="checkbox-group">
                    <div class="checkbox">
                        <label>
                            <input type="checkbox" id="AFM" title="major" class="check-majors" checked>AFM
                        </label>
                    </div>
                <div class="checkbox">
                    <label>
                        <input type="checkbox" id="ARTS" title="major" class="check-majors" checked>ARTS
                    </label>
                </div>
                <div class="checkbox">
                    <label>
                        <input type="checkbox" id="CHEM" title="major" class="check-majors" checked>CHEM
                    </label>
                </div>
            </div> …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery twitter-bootstrap

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

ANTLR4 - 分配给不是集合的块的标签

我收到错误label assigned to a block which is not a set。我的标签,会出现此错误:childleftrightfirst,和last。我正在做的是为一组备选方案分配一个标签;这不应该被支持吗?

我的语法片段:

expr:
      unaryExpr '(' child=(stat | expr | NUMBER) ')'                                                #labelUnaryExpr
    | binaryExpr '(' left=(stat | expr | constant) ',' right=(stat | expr | constant) ')'           #labelBinaryExpr
    | multipleExpr '(' first=(stat | expr | constant) (',' rest=(stat | expr | constant))+ ')'      #labelMultipleExpr
    ;   
Run Code Online (Sandbox Code Playgroud)

antlr antlr4

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