google / google/adk-java

Unit & Integration Testing utilities

Open
#289 3 comments 0 reactions 1 assignee Claimed by @vorburger View on GitHub
testing
Dominant language
Java
Stars
1.7k
Forks
420
Avg merge
4d 12h
Merged PRs (30d)
31

Description

Unit & Integration testing ADK related code could perhaps benefit from some simple common shared utilities?

This isn't about some sort of full blown "evaluation" toolkit, but just along the lines of _"I want to be able to have to write less code to write a simple (integration) test for something like the https://google.github.io/adk-docs/get-started/quickstart/#create-multitoolagentjava"._

[`core/src/test/java/com/google/adk`](https://github.com/google/adk-java/tree/main/core/src/test/java/com/google/adk) has some utility classes a bit like that. But they are not part of a published Maven artifact, and intended for testing the ADK itself, not for its users.

The [`RunLoop`](https://github.com/google/adk-java/blob/d2042949dc22115294f2fd21433c8b1387044b9b/contrib/langchain4j/src/test/java/com/google/adk/models/langchain4j/RunLoop.java#L29) which is used in the [`LangChain4jIntegrationTest`](https://github.com/google/adk-java/blob/d2042949dc22115294f2fd21433c8b1387044b9b/contrib/langchain4j/src/test/java/com/google/adk/models/langchain4j/LangChain4jIntegrationTest.java#L74) (from @glaforge) is a similar kind of basically generic utility.

I have **started to create more like that [here](https://github.com/enola-dev/enola/tree/800a6496fbdc66e64b7dbe6f15042e7026558a8a/java/dev/enola/ai/adk/test),** which can be used e.g. like _[this](https://github.com/enola-dev/enola/blob/200f065096abc6c6df9bccdeec349661a8bbe5d4/java/dev/enola/ai/adk/core/QuickstartDemoTest.java#L45)._

Is there perhaps any interest in accepting contributions for "upstreaming" (a subset of) that into this repo?

Or maybe I should publish my own "ADK testing library", and it could be linked to?

I'm interested in feedback and thoughts from other ADK users about this.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.