Зависимость инъекций в Голанге

Хорошо, поэтому после прочтения этого электронного потока я теперь использую следующие строки:

//For antialiasing
Qt3DRender::QRenderStateSet *renderStateSet = new Qt3DRender::QRenderStateSet;

Qt3DRender::QMultiSampleAntiAliasing *msaa = new Qt3DRender::QMultiSampleAntiAliasing;
renderStateSet->addRenderState(msaa);
Qt3DRender::QDepthTest *depthTest = new Qt3DRender::QDepthTest;
depthTest->setDepthFunction(Qt3DRender::QDepthTest::LessOrEqual);
renderStateSet->addRenderState(depthTest);

this->activeFrameGraph()->setParent(renderStateSet);
this->setActiveFrameGraph(renderStateSet);

Это, по-видимому, восстанавливает значение DepthTest по умолчанию Qt3D и дает мне, казалось бы, чистый рендер.

0
задан Rayn D 19 January 2019 в 21:05
поделиться

1 ответ

Я использовал https://github.com/facebookgo/inject для DI и https://github.com/golang/mock для насмешек. Например:

// some_entity_dao.go
type SomeEntity interface {
    Find(ctx context.Context, condition *model.SomeEntity) (*model.SomeEntity, error)
    FindAll(ctx context.Context, condition *model.SomeEntity) ([]*model.SomeEntity, error)
    Save(ctx context.Context, data *model.SomeEntity) error
    Update(ctx context.Context, condition *model.SomeEntity, data *model.SomeEntity) error
    Delete(ctx context.Context, condition *model.SomeEntity) error
}

И сгенерировать фиктивную реализацию, используя:

//go:generate mockgen -source=./some_entity_dao.go -destination=./some_entity_dao_mock_impl.go -package dao

Затем используйте эту фиктивную реализацию при написании юнит-тестов.

0
ответ дан Mital Awachat 19 January 2019 в 21:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: