问题标签 [google-truth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1358 浏览

assertj - 与 AssertJ 相比的真值断言库

在它停止开发后,我使用FEST-Assert并移至。AssertJ

最近,我被指向带有另一个断言库( http://google.github.io/truth/ )的Google存储库。Truth

阅读示例我找不到开始使用它的任何优势AssertJ。因此,使用什么只是口味问题。但也许我错过了重点,是吗?

0 投票
1 回答
457 浏览

java - Truth.assertAbout 和 JavaSourceSubjectFactory.javaSource()

google-compile-testing我正在编写一个注释处理器,并希望使用and为它编写一些单元测试truth

所以我想写一个非常简单的单元测试。

所以基本上我已经从谷歌的 dagger2 repo 复制了一个简单的测试,并用我的注释处理器替换了相关数据。我正在使用 maven,并且使用与 dagger2 相同的依赖项:

但我无法编译代码。我想有一个泛型参数问题,但无法弄清楚问题是什么。

任何暗示我做错了什么?我找不到与 google dagger2 测试有任何区别(顺便说一下在我的机器上编译)

0 投票
3 回答
14527 浏览

java - 如何断言 List 仅包含特定类的一个实例?

我想测试一个列表是否包含一个对象的实例。

例如,对于单个实例:

从测试返回的数组obj确实包含一个实例对象ExpectedType。但是我的测试失败了:

java.lang.AssertionError: <[ExpectedType@7c781c42]> 不正确包含 <[an instance of ExpectedType]>。它缺少 <[一个 ExpectedType 的实例]> 并且有意外的项目 <[ExpectedType@7c781c42]>

我该如何编写这个测试?

0 投票
1 回答
1276 浏览

java - 如何检查集合是否包含至少 N 个匹配的元素在 google-truth 中?

有没有办法检查一个集合是否包含 m >= n 的预期元素列表(e_1、e_2、...、e_m)中的至少 n 个元素?我在想类似于 的东西IterableSubject.containsAnyOf(e_1, e_2, ...),这可以被认为是 n = 1 的特殊情况。

0 投票
3 回答
11729 浏览

java - 如何使用 google-truth 测试是否抛出了预期的异常?

我只想测试是否使用 google-truth 抛出了给定消息的异常。

使用 junit using 很容易做到这一点@Test(expected=,但我无法弄清楚如何做到这一点。ThrowableSubject周围没有样本。

我应该坚持使用简单JUnit的这些测试吗?

0 投票
1 回答
693 浏览

java - 对 Iterable 中的元素进行断言

我有一个对象列表,我想对对象本身做出真理风格的断言,但我没有看到任何合理的方式来表达比相等断言更复杂的东西。我正在设想类似的东西:

假设这在 Truth 中不可用,那么表达这种东西的最真实的方式是什么?如果我知道我在寻找列表中的哪个位置,我可以说:

但是(除了有点hacky之外)只有在我i事先知道的情况下才有效,并且不适用于任意迭代。有没有比自己做这个更好的解决方案?

0 投票
1 回答
224 浏览

google-truth - 期望(最终失败)

有人可以向我展示一个完整的最终失败行为的最小示例吗?

我找到的文档只是说:

用例:我想要一个测试,多个断言(对同一个对象的断言,但我希望看到所有断言失败,因为测试本身是一个长时间运行的过程)。

0 投票
1 回答
1293 浏览

unit-testing - 测试框架:Google Truth 是 JUnit 的替代品吗?如何编写测试方法和测试套件?

我遇到了 Google Truth https://google.github.io/truth/并想尝试一下。我阅读了该网站上的信息,但仍有一个基本问题。

Truth 是 JUnit 的替代品吗?我应该如何以我在 JUnit 中编写的方式编写 @test 方法和测试套件并通过 Jenkins 自动执行测试?还是说,Truth 只是为了让你的断言代码更漂亮,而其他一切都保持不变?

Truth 是否仍需要 JUnit 框架(或类似 JUnit)的帮助?

谢谢!

0 投票
1 回答
188 浏览

android - 在 Android 文本视图中使用 Google Truth

这可能很明显,但我似乎找不到更好的方法来处理这个问题。我将我的项目从使用 AssertJ 切换到使用 Truth 有几个原因超出了这个问题的范围。在 AssertJ 中,我可以轻松地使用 Android“类字符串”类。例如,这在 AssertJ 中是有效的:

但在 Truth 中,核心 Truth 库似乎无法识别如何从 Editable/CharSequence 转换为 String。这意味着我必须写很多以下内容:

...哪种方式违背了使用真理的目的。我怀疑我可以为 CharSequence 编写自己的自定义主题,但我很好奇是否有更可接受的做法。

0 投票
1 回答
63 浏览

google-truth - 使用 Truth 将 proto 与字符串进行比较

有没有办法使用Google Truth将 protobuff 与字符串进行比较?我希望找到看起来像这样的东西: