gpt4 book ai didi

java - 测试以不同语言存在的 API 的相等性

转载 作者:太空宇宙 更新时间:2023-11-04 04:55:02 24 4
gpt4 key购买 nike

<分区>

您将如何解决以下问题?

我有一个验证 token (只是简单的 XML 文件)的 API。因此 API 指定了一堆验证方法,例如 validateTime(String tokenPath)validateFileHash(String tokenPath)validateSomthingElse(String tokenPath)

API 已经用两种不同的语言实现,Java 和 C。我的任务是确保这两个版本表现相同。因此,如果 Java 在调用 validateTime("expiredToken.xml") 后抛出 TokenExpiredException,C 应该返回相应的错误值(在本例中为预定义的 -4 用于 TOKEN_EXPIRED)。

好的老方法是用两种语言编写单元/集成测试。但是,这需要双倍的努力,因为我必须在 Java 和 C 中实现基本相同的测试。

我的想法是为测试用例定义一个 XML 模式,它看起来像这样。

<!-- TestCases.xml -->
<testcase>
<tokenpath>expiredToken.xml</tokenpath>
<apiMethod>validateTime</apiMethod>
<expectationJava>TokenExpiredException</expectationJava>
<expectationC>-4</expectationC>
</testcase>

<testcase>
...
</testcase>

此外,我将构建一个小型 Java 工具来解析 TestCases.xml 并直接调用两个 API 版本(使用 JNI for C)以使结果与预设预期相匹配。

您认为这是一个可行的方案,还是采用老办法更好?是否有处理此类任务的框架,或者从一开始就是一个糟糕的想法?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com