小编Dmi*_*nko的帖子

快速插入TODO线

是否可以将IDEA设置为能够快速插入// TODO行?例如键盘绑定或代码完成模式?我什么都没找到

intellij-idea android-studio

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

带有JUnit的RxJava2:测试中没有抛出异常

在JUnit环境中运行时,下面的代码不会崩溃.但它在应用程序中运行时崩溃了.我可以在控制台中看到错误日志,但测试标记为已通过.

  @Test
  public void test() {
    Observable observable = Observable.error(new RuntimeException());
    observable.subscribe();
  }
Run Code Online (Sandbox Code Playgroud)

所以,问题是:如何在JUnit中使其崩溃.因为是的,如果某些内容在应用程序中不起作用,如果它在单元测试中也不起作用也是一件好事:)

在这个例子中,我可以直接访问observable.但在我的真实测试中,我没有那个.真正的可观察性只是被测试的类的内部细节.我能做的最多的事情就是注入调度程序或其他东西.

那么,如何在没有直接访问observable的情况下使其崩溃?

另外,我刚检查过这段代码也没有崩溃:

  @Test
  public void test() {
    Observable observable = Observable.error(new RuntimeException());
    observable.subscribe(new Consumer() {
      @Override
      public void accept(Object o) throws Exception {
        throw new RuntimeException();
      }
    }, new Consumer<Throwable>() {
      @Override
      public void accept(Throwable throwable) throws Exception {
        throw new RuntimeException();
      }
    });
  }
Run Code Online (Sandbox Code Playgroud)

junit android rx-java rx-java2

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

在泛型中使用Nothing是一种好习惯吗?

就像在这个例子中:

sealed class Option<T>

object None : Option<Nothing>() // <-- like this

class Some<T> : Option<T>()
Run Code Online (Sandbox Code Playgroud)

或者,如果这不是一个好习惯,我应该在这里使用什么呢?

对此有任何官方回应/文章吗?或者有没有论证这是一个好习惯?

我知道这Nothing被设计为用作永不返回任何值的函数的返回值的类型,所以我不确定将它用作泛型参数是否是有效用途.

我知道有一篇文章说你可以做到,但我不确定我是否可以相信它.

koptional的作者使用它,但我不知道我是否也可以相信.

此外,看起来在Scala Option中实现的类似,None类型Option[Nothing]和Scala Nothing类似于Kotlin的Nothing.

kotlin

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

如何在Kotlin文档Dokka / Kdoc中转义符号?

我想添加这样的评论

  /**
   * @param scrollFraction In range [0..1].
   */
Run Code Online (Sandbox Code Playgroud)

但是Dokka / Kdoc将方括号内的内容解释为参考。当您在IDE中检查函数的文档或生成文档时,这会导致注释呈现效果很差。如何在Dokka / Kdoc中转义方括号/其他符号?

kotlin kdoc kotlin-dokka

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