Slackbot
01/14/2024, 8:13 PMVladimir Sitnikov
01/15/2024, 4:56 AMtony
01/15/2024, 6:36 AMGabriel Ittner
01/15/2024, 8:23 AMVladimir Sitnikov
01/15/2024, 9:37 AMP3 , so the team are effectively out of capacity to review them.
There are multi-year PRs which do not get reviewed either: https://github.com/google/truth/pulls
The sole contributor nowadays is cpovirk (see https://github.com/google/truth/graphs/contributors ), and the commits for the past 3 years are more like small cleanup ones: https://github.com/google/truth/commits?author=cpovirk&since=2019-07-18&until=2024-01-15
Well, Truth does not play well with JUnit5, and the ask to move from JUnit4's ComparisonFailure to opentest4j was met with âoh, we canât break backward compatibilityâ (see https://github.com/google/truth/issues/333#issuecomment-1020348512)
Of course, backward compatibility is super important, however, there are many ways to support JUnit5. For instance, one could throw either JUnit4's exception or opentest4jâs one depending on the configuration.
For instance, if I use JUnit5, I do not want having JUnit4 on the classpath, so I have just one @Test annotation instead of multiple ones.
All-in-all, I like how Truth favours clear exception messages, however, the team has no capacity to review issues and PRs, so de-facto the development halted.Thomas Broyer
01/15/2024, 12:00 PMVladimir Sitnikov
01/15/2024, 3:16 PMWell,That is universally true foris aproject.nameproject that works like many otherproject.findProperty("owner")projects: theyâre made for their internal needs first.project.findProperty("owner")
allprojects đ
At the same time, Guava gets more attention from cpovirk (see https://github.com/google/guava/graphs/contributors ).
--
It looks like thereâs a some activity in Truth regarding Kotlin (e.g. https://github.com/google/truth/issues/849 ), however, the approach Truth and AssertJ follow does not work well for Kotlin, so I doubt there will be any improvements in that area soon. In other words, both Truth and AssertJ are limited to whatever extensibility Java provides, and it makes it hard to add extensions (e.g. AssertJ requires nested generics and custom subject builders)tony
01/15/2024, 5:19 PMtony
01/15/2024, 5:21 PMVladimir Sitnikov
01/16/2024, 7:51 AMprotected final void failWithActual are protected in Truth, so you canât extend ProtoSubject with something like ProtoSubject.fieldsDoNotContain("qwerty")
---
> my plugin sometimes goes months without any development, and there are issues that have been open for years, some of which may never get worked on - is it not under active development? should people not use it?
Frankly, if the maintainer is mostly inactive and they explicitly say they have no time on checking out issues, and they explicitly say they have no time on reviewing PRs and there are no signs of adding new maintainers, then it would be tough call to start using the library.
Frankly, even if your library goes without any development for ages, I would expect that I can get my PR merged in if I ping you a few times.
On the other hand, if I ping maintainers with a perfectly valid PR, and they say âsorry, we have no time on even looking into itâ, then, it is a no-go for me.
Sure there are âfeature completeâ libraries, however, assertion library is virtually never feature-complete.
Of course, you might consider Truth a âdoneâ project, however, that means you would have to create a golden subset of subjects.
For instance, see https://github.com/google/truth/issues/717 (ThrowableSubject does not provide access to suppressed exceptions)
One canât âjust add suppressed exceptionsâ to the existing ThrowableSubject, but they need to inherit and things like that.
Of course, it is all doable, however, then you basically go with your own fork of Truth which is, well, not that great.
Then the Java community seems to lean towards opentest4j.
For instance, Gradle supports opentest4j more and more: https://github.com/gradle/gradle/issues/27007
Truth has no signs of opentest4j support. Adding opentest4j would require patching Truth which is virtually impossible unless one forks Truth which is a tough call as well.tony
01/16/2024, 6:34 PMI'm testing a testing library which aside from hurting my brainhaha yeah, I know that feeling