我将从一个示例开始,说明如何为后端服务器设置测试。TL;DR 在底部。
该文件代表我的服务器:
//server.js
const express = require('express');
class BackendServer {
constructor(backingFileDestination, database) {
this.server = express();
/* Set up server ... */
/* Set up a mysql connection ... */
}
closeMySQLConnectionPool = () => {
/* Close the mysql connection ... */
};
}
module.exports = BackendServer;
Run Code Online (Sandbox Code Playgroud)
在我的 中package.json,我有以下内容:
"jest": {
"testEnvironment": "node",
"setupFilesAfterEnv": [
"<rootDir>/tests/setupTests.js"
]
}
Run Code Online (Sandbox Code Playgroud)
这允许我使用这个设置文件进行测试:
//setupTests.js
const { endpointNames } = require('../../src/common/endpointNames.js');
const BackendServer = require('../server.js');
const server = new …Run Code Online (Sandbox Code Playgroud) 我有一个 XML 文件,我想使用 JavaScript 读取和修改 XML 数据,这是我的 XML 数据:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<figlist>
<figgroup name="Circuit Diagram">
<category id="A">
<name>A GENERAL INFORMATION</name>
<subcategory name="GI GENERAL INFORMATION">
<fig id="jtawa5397gb">
<name>CONSULT CHECKING SYSTEM</name>
<svgfile>jtawa5397gb.svg</svgfile>
</fig>
</subcategory>
</category >
Run Code Online (Sandbox Code Playgroud)
在此 XML 数据咨询检查系统中,我想通过读取 csv 文件数据来修改标签内的内容
例如,在 CSV 文件数据中,它将具有
咨询检查系统 CONSULTAR EL SISTEMA DE CONTROL
像标签内的内容一样,它应该根据 Csv 文件数据进行更改,我需要您的帮助来通过 JavaScript 修改此内容。
我运行sudo apt-get install mysql-client并安装正确。然后我跑了mysql_config_editor print,我得到了
mysql_config_editor: not found
Run Code Online (Sandbox Code Playgroud)
mysql_config_editor没有出现在/usr/bin像我期望的那样出现,也不像我的其他机器上那样出现。
在它工作的机器上,mysql --version显示
mysql Ver 8.0.21-0ubuntu0.20.04.3 for Linux on x86_64 ((Ubuntu))
Run Code Online (Sandbox Code Playgroud)
在不工作的机器上,mysql --version显示
mysql Ver 15.1 Distrib 10.1.45-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Run Code Online (Sandbox Code Playgroud)
如何安装 mysql 附带的版本mysql_config_editor或安装该mysql_config_editor实用程序本身?
使用 React 函数式组件,我们可以像这样渲染子组件:
import React from 'react';
const MyComponent = (props: React.PropsWithChildren) => {
return props.children;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我使用它时,我收到错误:
...
return <MyComponent />;
...
Run Code Online (Sandbox Code Playgroud)
或者
...
return (
<MyComponent>
<div>hello</div>
</MyComponent>
);
...
Run Code Online (Sandbox Code Playgroud)
导致
'MyComponent' cannot be used as a JSX component. Its return type 'ReactNode' is not a valid JSX element. Type 'undefined' is not assignable to type 'Element | null'.
Run Code Online (Sandbox Code Playgroud)
一种解决方案是将功能组件的返回值包装在片段中:
const MyComponent = (props: React.PropsWithChildren) => {
return <>{props.children}</>; // <= useless fragment is here
}
Run Code Online (Sandbox Code Playgroud)
但是,然后我触发了eslint: …
我是Haskell的新手,我对如何从函数结果中获取值感到困惑.在我的特定情况下,我试图解析Haskell文件并查看哪些AST节点出现在哪些行上.这是我到目前为止的代码:
import Language.Haskell.Parser
import Language.Haskell.Syntax
getTree :: String -> IO (ParseResult HsModule)
getTree path = do
file <- readFile path
let tree = parseModuleWithMode (ParseMode path) file
return tree
main :: IO ()
main = do
tree <- getTree "ex.hs"
-- <do something with the tree other than print it>
print tree
Run Code Online (Sandbox Code Playgroud)
所以在我有评论的行上,我有一个语法树tree.它似乎有类型ParseResult HsModule.我想要的只是HsModule.我想我正在寻找的功能如下:
extract :: ParseResult a -> a
Run Code Online (Sandbox Code Playgroud)
或者更好的是,一般的Haskell函数
extract :: AnyType a -> a
Run Code Online (Sandbox Code Playgroud)
也许我在这里错过了关于Haskell的一个主要概念?
ps我明白将这些事物视为"物体"并试图从它们中获取"字段"是错误的,但我想解释一下如何处理这类事物.