java - guava-teSTLib future 版本 JAR

标签 java unit-testing testing null guava

今天,当前的 Guava 版本似乎是:

release is 13.0.1, August 3, 2012.

但我检查了来源:

git clone https://code.google.com/p/guava-libraries/

并且对对我来说极其有用的测试工具很感兴趣:

http://code.google.com/p/guava-libraries/source/browse/guava-testlib/src/com/google/common/testing/NullPointerTester.java

我正在尝试验证我的所有方法是否都讨厌 null正如 Doug Lea ( http://gee.cs.oswego.edu/dl/html/vita.html ) 似乎所做的那样,除非 Joshua Bloch 错误地引用了他 ( http://www.youtube.com/watch?v=ZeO_J2OcHYM#t=26m35s ) 的“无敌意”。

无论如何,NullPointerTester.java似乎很完美,所以我正在尝试将其构建到我的项目中。

遵循依赖关系(例如 NullPointerTester -> Invokable<?, ?> , -> ...)很乏味,因为我遇到了 @since 14.0 的类,基本上属于 future 版本。

构建 Guava 下一个/ future 版本的独立 JAR 的最佳方法是什么,并且所有依赖项都已为我处理?注意:来源似乎是 git 上的“全部” ...


您可以停止阅读此处。

我迫不及待地想做这样的事情,我认为这真的很酷:

注意:缺少的是“安全检查”,例如“如果构造函数已设为私有(private),请检查我是否无法反射调用它......

如果我是一个更好的编码员,我会做出贡献,但这就是我能做的,而且非常糟糕,尽管意图应该很明确?

static boolean isDefaultConstructorDisabled(Class<?> type) {
  boolean isDefaultConstructorDisabled = false;
  Constructor<?>[] declaredConstructors = type.getDeclaredConstructors();
  Constructor<?> defaultContructor = declaredConstructors[0];
  defaultContructor.setAccessible(true);
  try {
    defaultContructor.newInstance();
  } catch (InvocationTargetException invocationTargetException) {
    Throwable cause = invocationTargetException.getCause();
    if (cause instanceof UnsupportedOperationException
        && cause.getMessage().contains(
            ErrorMessage.DefaultConstructor.DISABLED)) {
      isDefaultConstructorDisabled = true;
    }
  } catch (Throwable throwable) {
    throwable.printStackTrace();
  }
  return isDefaultConstructorDisabled;
}

最佳答案

你尝试过在 Maven 中查找吗?

http://search.maven.org/#browse%7C-723200679

我认为 guava-teSTLib 是包含 NullPointerTester 的东西。您可以获取 13.0.1 jar。

http://search.maven.org/#browse%7C1590928164

关于java - guava-teSTLib future 版本 JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12791737/

相关文章:

java - Camel .contains() 不从属性文件中搜索值

java - 如何使用文本、图像和复选框过滤自定义 ListView ?

java - 模拟对象没有为我服务?

java - 如何在不使用 PowerMock 的情况下测试私有(private)方法(用例 : object creation)?

perl - 如何将 __LINE__ 中的行号插入到 Perl 中的测试名称中?

testing - 要在 Canoe 中使用 TestModules 获得最佳输出,应遵循哪个正确的代码结构?

java - Android 应用程序和 AsyncTask 未按预期运行

java - 你必须同步并发集合吗?

ruby-on-rails - 运行功能测试时找不到 'id' 的 Rails 4 STI 模型

visual-studio-2008 - 将 MSTEST 类移动到它们自己的文件夹中会中断 "Create Unit Tests..."