首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从‘jasmin-marbles.umd.js’中找到模块'rxjs/testing‘

无法从‘jasmin-marbles.umd.js’中找到模块'rxjs/testing‘
EN

Stack Overflow用户
提问于 2018-03-28 09:32:58
回答 1查看 2.9K关注 0票数 2

我现在想用ngrx/effects测试我的效果。我跟踪了标记,但当我想要运行我的测试时有一个错误。

代码语言:javascript
复制
Cannot find module 'rxjs/testing' from 'jasmine-marbles.umd.js'

下面是我的代码(目前我没有做任何期望,我只想要我的测试运行):

代码语言:javascript
复制
import { TestBed } from '@angular/core/testing'
import { provideMockActions } from '@ngrx/effects/testing'
import { ReplaySubject } from 'rxjs/ReplaySubject'
import { hot, cold } from 'jasmine-marbles'
import { Observable } from 'rxjs/Observable'
import { VersionService } from '../../service/version/version.service'

import { DataEffects } from './data.effect'
import { RequestVersions, ReceiveVersions } from './data.action'

describe('My Effects', () => {
    let versionService: VersionService
    let effects: DataEffects
    let actions: Observable<any>

    beforeEach(() => {
        TestBed.configureTestingModule({
            imports: [
                // any modules needed
            ],
            providers: [
                DataEffects,
                provideMockActions(() => actions),
                {provide: VersionService, useValue: {
                    getVersions: jest.fn().mockReturnValueOnce({data: {versions: 'MOCKED_VERSION_RESULT'}})
                }}
            ],
        })
        versionService = TestBed.get(VersionService)
        effects = TestBed.get(DataEffects)
    })

    it('should work', () => {
        const action = new RequestVersions()
        const completion = new ReceiveVersions('MOCKED_VERSION_RESULT')

        actions = hot('--a-', { a: action });
        const expected = cold('--b', { b: completion })
    })
}

在这里,我的package.json是什么样子:

代码语言:javascript
复制
  [...]
  "dependencies": {
    [... all @angular import ...]
    "@ngrx/effects": "^5.2.0",
    "@ngrx/store": "^5.2.0",
    "@ngrx/store-devtools": "^5.2.0",
    "bootstrap": "^4.0.0",
    "core-js": "^2.4.1",
    "rxjs": "^5.5.6",
    "zone.js": "^0.8.19"
  },
  "devDependencies": {
    "@angular/cli": "1.6.7",
    "@angular/compiler-cli": "^5.2.0",
    "@angular/language-service": "^5.2.0",
    "@types/jest": "^22.1.4",
    "@types/node": "~6.0.60",
    "codelyzer": "^4.0.1",
    "jasmine-marbles": "^0.3.0",
    "jest": "^22.4.2",
    "jest-junit": "^3.6.0",
    "jest-preset-angular": "^5.2.0",
    "ts-node": "~4.1.0",
    "tslint": "~5.9.1",
    "typescript": "~2.5.3"
  }
  [...]

有人能在这件事上帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-28 19:40:34

我也碰到这个了。

在我的例子中,使用jasmine@v0.2.0而不是@最新解决方案,因为它似乎不需要beta rxjs 6发行版的对等依赖。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49530947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档