成果自己的单位测试相对简朴,假如我们有履历,我们不必要相识更多。只有对此所需的工具的boostrapping如故有点超载样板代码。测试起首启动内存中的Fabric收集,在其上安装营业收集,然后以默认打点员身份对其举办身份验证。由于这个Composer提供了库composer-admin ,composer-client ,composer-common 和composer-connector-embedded 。在测试配置之后,我们此刻可以针对嵌入式收集编写测试用例。因为其长度,配置代码未包括在列表中,但可以在test/EngineSupplychainSpec.js 中的主分支上查察和测试。
用于测试买卖营业范例的单位测试用例凡是具有相同的模式。他们行使其属性和相关从头建设买卖营业,针对收集执行买卖营业,然后搜查所涉及的资产和参加者的数据状态。我们来看看createEngineAsset 的现有测试用例。
- describe(‘EngineSupplychainSpec’, () => {
-
- // setup is done in the before and beforeEach hook
- // results are the bnc (BusinessNetworkConnection), target namespace
- // as well as test assets, participants and required registries
- describe('createEngineAsset', () => {
- it('should create an Engine by submitting a valid EngineCreation transaction', async () => {
- const factory = bnc.getBusinessNetwork().getFactory()
-
- const engineCreationTrans = factory.newTransaction(namespace, 'EngineCreation')
- engineCreationTrans.data = factory.newConcept(namespace, 'EngineProperties')
- engineCreationTrans.data.brand = 'Audi'
- engineCreationTrans.data.model = 'Fancy engine model'
- engineCreationTrans.data.horsePower = 400
- engineCreationTrans.data.cubicCapacity = 4000
- engineCreationTrans.data.cylindersAmount = 10
-
- const manufacturerRegistry = await bnc.getParticipantRegistry(namespace + '.Manufacturer')
- await manufacturerRegistry.addAll([])
- engineCreationTrans.manufacturer = factory.newRelationship(namespace, 'Manufacturer', testManufacturer.$identifier)
-
- await bnc.submitTransaction(engineCreationTrans)
-
- const allEngines = await engineRegistry.getAll()
- allEngines.length.should.equal(2)
- })
- })
- })
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|