Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

能力不足,折腾一下午,也没有跑通 go 的 UnitAuto #46

Open
kkHAIKE opened this issue Aug 8, 2023 · 4 comments
Open

能力不足,折腾一下午,也没有跑通 go 的 UnitAuto #46

kkHAIKE opened this issue Aug 8, 2023 · 4 comments
Labels

Comments

@kkHAIKE
Copy link

kkHAIKE commented Aug 8, 2023

  1. 是不是现在还不能私有部署?
  2. UI 的各种问题(比如 cookies 共用)能不能想办法修复一下。。
  3. 扫描 Go 的代码在哪个组件完成的?
  4. 看文档说不用手动注册能够用 Admin 自动生成,实际上还是要手动录入 package struct 的吧?
  5. 机器学习如何解决 go 函数内的异步,数据 Mock 之类的问题的?文档上说对函数本身没什么要求。
  6. 这个比 LLM 生成的 UT 靠谱吗?
  7. 最后一个问题:如何证明这个项目不是一个噱头项目?现在从文档上看没有使用上的帮助,大部分都在吹,Google 也搜不到使用的文章,都在吹。。。包括这里:请问机器学习在这其中做了什么 #36
  8. 老是在 issues 发 XXXX 连接了 ApiAuto,又不是小孩子了。。真好用,别人就发技术博客了。这边引用博客链接比什么都好使。

都放在 github 了,大家都在看的。

@TommyLemon
Copy link
Owner

TommyLemon commented Aug 10, 2023

把这几行代码放 Go Playground 网站都能跑起来,只不过这个网站会强制停掉 HTTP 服务(推荐自己用 Goland 等 IDE 或者自己服务部署)
image

package main

import (
	"github.com/TommyLemon/unitauto-go/unitauto"
)

func main() {
	unitauto.Test()
	unitauto.Start(8083)
}

这个简单 Demo 可以直接在 Goland 的 IDE 界面点左侧运行按钮来测试
https://github.com/TommyLemon/unitauto-go-demo/blob/main/test.http

  1. 前后端源码、MySQL 文件都完全开源,当然支持私有部署
    https://github.com/TommyLemon/UnitAuto#%E9%83%A8%E7%BD%B2%E5%90%8E%E5%8F%B0%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7

  2. 首页 README 常见问题 1.无法访问接口 已经解答了 Cookie 问题以及解决方案,最好是私有部署在同一机器上
    https://github.com/TommyLemon/UnitAuto#%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98

  3. unitauto-go 的 method_util.ListMethod
    https://github.com/TommyLemon/unitauto-go/blob/main/unitauto/method_util.go#L410-L471

  4. 手动录入 package struct 是啥意思?文档中明确提到可以生成注册代码,复制粘贴到项目中
    https://github.com/TommyLemon/unitauto-go/tree/main#3-test-by-following-the-main-repo

  5. 支持通过 func/interface{ func } 两种形参作为回调的异步函数(也应该只有这两种),被测代码的外部依赖可以不用 Mock
    https://github.com/TommyLemon/unitauto-go/blob/main/unitauto/test/test_util.go#L33-L81

  6. 这个只要集成好了,能保证单测用例没有任何编译问题(毕竟用例零代码),并且被测方法只要有 return 值、func/interface 回调 或 改变 struct 内变量 任何一点,都能零代码自动断言,包括 chatGPT 4.0 在内的哪个 LLM 能做到?

  7. 单测本来就是个小众领域,国内更是很少项目做单测,我除了工作外还维护着其它几个开源项目,也抽不出太多时间,但文档上提到的所有功能都实际可用,效果也能达到(当然不是绝对的零代码,依赖和初始化配置代码还是要有,但起码用例不用写代码,Go 版相对 Java, Python 等版本还需要注册代码,可以生成)

  8. UnitAuto 目前还没火起来,用的人少,搜不到什么资料很正常,更何况 Google 默认屏蔽 CSDN
    CSDN 博客专家去年的文章,注意文中内容本身有些错误或者过时的地方:
    UnitAuto——机器学习单元测试平台 (三)
    https://blog.csdn.net/Octopus21/article/details/126442002

"都放在 github 了,大家都在看的。" 同样适合你的言论,如果你的目的不是使用这个项目,而是挑衅,那我以后也没必要回复你了,所有 issue 直接关闭。

@kkHAIKE
Copy link
Author

kkHAIKE commented Aug 11, 2023

谢谢大佬回答,没有挑衅的意思,感觉就是有点宣传过头,希望可以有点更核心的文章。

另外 部署后台管理工具,这个也看过了。。是不是 要先 部署 APIAuto?在 UniAuto 没看到后台的代码,是这个吗 UnitAuto-Admin/js/server.js

囧。总算从文档上找到了 使用后台 HTTP 服务

@TommyLemon
Copy link
Owner

TommyLemon commented Aug 11, 2023

UnitAuto 的后台管理工具是 UnitAuto-Admin(可以先用这个静态网页手动测试验证下 unitauto-go 的基本功能)
https://github.com/TommyLemon/UnitAuto/tree/master/UnitAuto-Admin

UnitAuto-Admin 的后端服务是 APIJSONBoot(推荐 APIJSONBoot-MultiDataSource,UnitAuto-Admin 文件替换 resources/static 目录的 APIAuto 文件),增删改查用例、自动回归测试等需要
https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server

对应的数据库表文件推荐 MySQL 的
https://github.com/APIJSON/APIJSON-Demo/tree/master/MySQL

https://github.com/TommyLemon/UnitAuto#%E9%83%A8%E7%BD%B2%E5%90%8E%E5%8F%B0%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7
image

至于 使用后台 HTTP 服务,这个是 后台 Headless 无 UI 模式回归测试 的,不属于托管服务器(测试用例增删改查接口服务的后端)

@TommyLemon
Copy link
Owner

TommyLemon commented Aug 11, 2023

一般步骤:
1.集成对应语言(Java/Kotlin/Go/Python)的 SDK 到被测项目(一般是能直接运行的业务项目),可先用 Demo 代替,然后启动 HTTP 服务

2.打开 UnitAuto js 前端 UnitAuto-Admin,可先用 http://apijson.cn/unithttp://apijson.cn/unit/go 代替,然后设置被测项目地址,手动验证基本功能

3.部署 UnitAuto Java 后端 APIJSONBoot(包括部署数据库,以及 Java 代码配置数据库 URI, 账号、密码等),可先用 http://apijson.cn:8080http://apijson.cn:9090 代替,然后在 UnitAuto-Admin 设置托管服务器地址,导入和查看用例,回归测试等

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants