Хорошо, поэтому после прочтения этого электронного потока я теперь использую следующие строки:
//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 и дает мне, казалось бы, чистый рендер.
Я использовал 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
Затем используйте эту фиктивную реализацию при написании юнит-тестов.