我正在嘗試編寫一個控制器,但在編寫測試時遇到了一些問題。我在我的控制器中使用了一些來自 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。
- 1 回答
- 0 關注
- 145 瀏覽
添加回答
舉報
0/150
提交
取消