create_agent。
先决条件
首先,确保您已安装pytest:
入门
由于许多 LangGraph 智能体依赖于状态,一个有用的模式是在使用它的每个测试之前创建您的图,然后在测试中使用新的检查点器实例编译它。 下面的示例显示了这如何与一个简单的线性图一起工作,该图通过node1 和 node2 进展。每个节点更新单个状态键 my_key:
测试单个节点与边
编译后的 LangGraph 智能体会通过graph.nodes 暴露每个节点的引用。您可以利用这一点测试智能体中的单个节点。请注意,这样做会绕过编译图时传入的任何检查点:
部分执行
对于由较大图组成的智能体,您可能希望测试智能体内的部分执行路径,而不是端到端的整个流程。在某些情况下,将这些部分重构为子图可能在语义上是有意义的,您可以像平常一样单独调用它们。 但是,如果您不希望更改智能体图的整体结构,可以使用 LangGraph 的持久化机制来模拟智能体在所需部分开始之前暂停的状态,并在所需部分结束时再次暂停。步骤如下:- Compile your agent with a checkpointer (the in-memory checkpointer
InMemorySaverwill suffice for testing). - Call your agent’s
update_statemethod with anas_nodeparameter set to the name of the node before the one you want to start your test. - Invoke your agent with the same
thread_idyou used to update the state and aninterrupt_afterparameter set to the name of the node you want to stop at.