小编Mit*_*h M的帖子

如何在 jest 单元测试中使用导入的 graphql 文件?

我正在尝试使用 jest 运行单元测试,但出现以下错误:

\n\n
  \xe2\x97\x8f Test suite failed to run\n\n/apollo/queries/articles.gql:1\n({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){query articles($orderBy: [OrderByClause!], $stripTags: Boolean, $maxCharacters: Int) {\n                                                                                               ^^^^^^^^\n\nSyntaxError: Unexpected identifier\n
Run Code Online (Sandbox Code Playgroud)\n\n

我已经安装了

\n\n
\n

https://github.com/jagi/jest-transform-graphql

\n
\n\n

它应该转换 GQL 文件。

\n\n

我的 package.json (玩笑部分)

\n\n
"jest": {\n    "moduleFileExtensions": [\n        "js",\n        "json",\n        "vue",\n        "gql"\n    ],\n    "watchman": false,\n    "moduleNameMapper": {\n        "^~/(.*)$": "<rootDir>/$1",\n        "^~~/(.*)$": "<rootDir>/$1"\n    },\n    "transform": {\n        "^.+\\\\.js$": "<rootDir>/node_modules/babel-jest",\n        ".*\\\\.(vue)$": "<rootDir>/node_modules/vue-jest",\n        "\\\\.(gql|graphql)$": "@jagi/jest-transform-graphql"\n    },\n    "snapshotSerializers": [\n        "<rootDir>/node_modules/jest-serializer-vue"\n    ],\n    "collectCoverage": true,\n    "collectCoverageFrom": [\n        "<rootDir>/components/**/*.vue",\n        "<rootDir>/pages/*.vue"\n    ]\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

测试文件

\n\n
import Index from "../index";\n\nconst …
Run Code Online (Sandbox Code Playgroud)

unit-testing vue.js nuxt.js vue-apollo

6
推荐指数
1
解决办法
2032
查看次数

Vuejs/laravel 图片上传接收空数组

我在 stackoverflow 上看了很多问答,但我不知道我做错了什么。

我正在建立一个网上商店(以改进我的编码),目前正在处理添加产品位。

这个想法是我可以添加一个产品,它可以有多个“产品”。例如,一件 T 恤是一种产品,但同一件 T 恤可以是红色/绿色小/中号,并且有自己的库存。

Vue 组件中的 HTML

<label class="btn-bs-file btn  btn-primary">
    Add picture
    <input type="file" multiple="multiple" @change="onFileChange($event, index)"/>
</label>
<div v-for="image in form.products[index].files" :key="image.id">
    <img :src="image.preview" />
</div>
Run Code Online (Sandbox Code Playgroud)

JS

onFileChange(e, index) {
    var files = e.target.files || e.dataTransfer.files;
    if (!files.length)
        return;
    this.createImage(files[0], index);
},
createImage(file, index) {
    var reader = new FileReader();
    var vm = this

    var formData = new FormData()
    formData.append('file', file)

    reader.onload = (e) => {
        vm.form.products[index].files.push({
            file: formData,
            preview: e.target.result
            });
    }; …
Run Code Online (Sandbox Code Playgroud)

laravel vue.js axios

5
推荐指数
0
解决办法
962
查看次数

标签 统计

vue.js ×2

axios ×1

laravel ×1

nuxt.js ×1

unit-testing ×1

vue-apollo ×1