小编Msw*_* Tm的帖子

Go 中解耦的项目结构仍然使用 main.go 中初始化的变量进行其他打包和测试?

我正在从 Python/Django 切换到 Go。在 Django 中,我非常喜欢它的模块化应用程序项目结构设计,其中每个应用程序都有单独的业务模型、路由和视图。然后,所有应用程序将在中央/项目的主路由系统等内进行通信。

Django项目结构例如:

- myproject
    - myproject
        - urls.py
        - views.py
        ...
    - planner
        - urls.py
        - views.py
        - models.py
        ...
Run Code Online (Sandbox Code Playgroud)

我试图在Go项目中实现类似的项目设计:

    - myproject
        - cmd
            - api
                - main.go
                - routes.go
                - handlers.go
            - planner
                - routes.go
                - handlers.go
                - models.go
Run Code Online (Sandbox Code Playgroud)

摘自 cmd/api/main.go:

package main

...

db, err := sql.Open("pgx", cfg.db.dsn)
...
srv := &http.Server{
    Addr:         fmt.Sprintf("localhost:%d", app.config.port),
    Handler:      app.routes()
}
...
Run Code Online (Sandbox Code Playgroud)

摘自 cmd/api/routes.go:

package main

func (app *application) routes() *httprouter.Router {
    router := httprouter.New() …
Run Code Online (Sandbox Code Playgroud)

go

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

使用 Typescript 和 Jest 进行本机测试

我正在尝试使用react-native/expo 和 typescript 开始测试。我使用世博会的基本打字稿模板创建了一个应用程序。

为了开始测试,我遵循了博览会有关使用 Jest 进行测试的文档。我已添加jest-expo和作为开发依赖项,并根据文档react-test-renderer更新了:package.json

{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    ...
    "test": "jest"
  },
  "dependencies": {
    "expo": "~41.0.1",
    "expo-status-bar": "~1.0.4",
    "react": "16.13.1",
    "react-dom": "16.13.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk-41.0.0.tar.gz",
    "react-native-web": "~0.13.12"
  },
  "devDependencies": {
    "@babel/core": "^7.9.0",
    "@types/jest": "^26.0.23",
    "@types/react": "~16.9.35",
    "@types/react-native": "~0.63.2",
    "@types/react-test-renderer": "^17.0.1",
    "jest-expo": "^41.0.0",
    "react-test-renderer": "^17.0.2",
    "typescript": "~4.0.0"
  },
  "private": true,
  "jest": {
    "preset": "jest-expo",
    "transformIgnorePatterns": [
      "node_modules/(?!(jest-)?react-native|react-clone-referenced-element|@react-native-community|expo(nent)?|@expo(nent)?/.*|react-navigation|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|native-base|@sentry/.*)"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

这是测试,App.test.tsx:

import renderer from 'react-test-renderer';
import App from …
Run Code Online (Sandbox Code Playgroud)

typescript jestjs react-native

5
推荐指数
1
解决办法
2844
查看次数

IDE 无法识别 Jest 及其功能

我有一个基本的反应本机/博览会模板应用程序。我已经在开发依赖项中添加了jest-expo和,并且还更新了 package.json,如用于测试的 expo 文档中记录的那样。react-test-renderer

{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    ...
    "test": "jest"
  },
  "dependencies": {
    "expo": "~41.0.1",
    ...
    "react": "16.13.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk-41.0.0.tar.gz",
  },
  "devDependencies": {
    "@babel/core": "^7.9.0",
    "@testing-library/jest-native": "^4.0.1",
    "@testing-library/react-native": "^7.2.0",
    "jest-expo": "^41.0.0",
    "react-test-renderer": "^17.0.2"
  },
  "private": true,
  "jest": {
    "preset": "jest-expo",
    "transformIgnorePatterns": [
      "node_modules/(?!(jest-)?react-native|react-clone-referenced-element|@react-native-community|expo(nent)?|@expo(nent)?/.*|react-navigation|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|native-base|@sentry/.*)"
    ],
    "setupFilesAfterEnv": [
      "@testing-library/jest-native/extend-expect"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

我还添加了React Native Testing Library测试 UI 的功能。并且测试运行良好。

但问题是 WebStorm IDE 无法识别 Jest 及其功能。

在此输入图像描述

在此输入图像描述

你能帮我解决这个问题吗?

更新

根据评论,我尝试通过“设置”配置安装 Typescript Jest 类型定义,并尝试使用“yarn/npm”进行安装。但这没有帮助。

在此输入图像描述

另一个更新

但是,如果我取消选中项目的 node_modules …

webstorm jestjs react-native expo react-native-testing-library

4
推荐指数
1
解决办法
1734
查看次数

React 测试渲染器 JSON 没有子项的打字稿错误

我已经使用文档中的基本打字稿模板创建了一个博览会应用程序。安装了测试及其类型所需的所有要求。

我可以运行测试,并且确实通过了测试。

但是,对于文档上的示例测试,我在 IDE(VS 代码)上收到错误:

在此输入图像描述

jestjs react-native visual-studio-code expo react-test-renderer

3
推荐指数
1
解决办法
1821
查看次数