为了账号安全,请及时绑定邮箱和手机立即绑定

kubernetes 控制器的单元测试

kubernetes 控制器的单元测试

Go
呼唤远方 2023-06-01 18:06:31
我正在尝试编写一个控制器,但在编写测试时遇到了一些问题。我在我的控制器中使用了一些来自 k8s HPA 的代码,在使用testrestmapper.基本上,在使用断点运行测试时,我看到返回了映射。当我这样做时,不会返回映射。这里发生了什么魔法?以下测试失败package mainimport (    "github.com/stretchr/testify/assert"    "k8s.io/apimachinery/pkg/api/meta/testrestmapper"    "k8s.io/apimachinery/pkg/runtime/schema"    "k8s.io/kubernetes/pkg/api/legacyscheme"    "testing")func TestT(t *testing.T) {    mapper := testrestmapper.TestOnlyStaticRESTMapper(legacyscheme.Scheme)    gk := schema.FromAPIVersionAndKind("apps/v1", "Deployment").GroupKind()    mapping, err := mapper.RESTMapping(gk)    assert.NoError(t, err)    assert.NotNil(t, mapping)}
查看完整描述

1 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

我认为这是因为您缺少_ "k8s.io/kubernetes/pkg/apis/apps/install".

如果不导入此路径,则没有向schema您用于获取 REST 映射的 API 组或版本注册。

通过导入路径,将注册 API 组,允许调用schema.FromAPIVersionAndKind("apps/v1", "Deployment").GroupKind()返回有效的 GroupKind。


查看完整回答
反对 回复 2023-06-01
  • 1 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信