您好我想测试与材料的UI创建一个Slider组件,但我不能让我的测试通过。我想使用fireEventwith测试值的变化@testing-library/react。我一直在关注这篇文章以正确查询 DOM,但我无法获得正确的 DOM 节点。
提前致谢。
<Slider /> 成分
// @format
// @flow
import * as React from "react";
import styled from "styled-components";
import { Slider as MaterialUISlider } from "@material-ui/core";
import { withStyles, makeStyles } from "@material-ui/core/styles";
import { priceRange } from "../../../domain/Search/PriceRange/priceRange";
const Wrapper = styled.div`
width: 93%;
display: inline-block;
margin-left: 0.5em;
margin-right: 0.5em;
margin-bottom: 0.5em;
`;
// ommited code pertaining props and styles for simplicity
function Slider(props: SliderProps) {
const initialState = …Run Code Online (Sandbox Code Playgroud) 我一直在玩Meteor(和陨石),并且喜欢我开始运行的轻松.现在我想对应用程序添加一些测试,发现主要障碍是在测试脚本中包含Meteor使用的包的引用/要求.
作为一个例子,我有一个我编写的简单类,它在内部使用一些下划线方法.然后我写了一个简单的摩卡脚本来测试它.
我跑的时候
mocha my_test.js
Run Code Online (Sandbox Code Playgroud)
它抱怨_是未定义的.如果我加
var _ = require('underscore')._
Run Code Online (Sandbox Code Playgroud)
对于我的测试代码,它找不到下划线库,因为这些包都被包裹在一个紧密的小包中,而不是在mocha的NODE_PATH上.我可以指定该路径,但这种硬编码路径似乎是一个坏主意.
有没有办法在Meteor环境中运行节点进程/脚本(如mocha)?我正在寻找类似于ruby-land的'捆绑exec'的东西.我已经调查了陨石,它似乎几乎将命令传递给了流星,所以我希望你们可能想要对这个进行调查.
更新:
写完之后,我开始查看流星源代码.我能够写出一些主要完成我想要的东西,并认为Meteor团队可能会评论这是否是一条好路.从meteor shell脚本(/ usr/local/meteor/bin/meteor)开始,我在底部添加了一个case语句,它根据命令名称切换模式.此文件可以替换当前的流星启动脚本,然后添加meteor-exec到meteor和voila的链接.有了这个替换脚本,我就能以正常的方式运行流星.我也可以跑
meteor-exec `which mocha` tests/mocha_test.coffee --compilers coffee:coffee-script
Run Code Online (Sandbox Code Playgroud)
我得到了我期望的结果.我可以要求('下划线')从Meteor的第三方库中提取.我可以在我的npm全局包空间中加入'mocha'和'chai'.
如果这看起来是正确的心态,并且代码同意你们的方式,我可以提交一个适当的拉取请求.
替换流星shell脚本在这个要点https://gist.github.com/4416913.我在下面添加了差异.
提前致谢
罗杰斯先生
PS.保持良好的工作.我真的很喜欢流星.
diff meteor meteor.orig
105,116c105,106
< NPM_GLOBAL_PATH=$(npm root -g)
< METEOR_THIRD_PARTY="$DEV_BUNDLE/app/lib/third"
< case $(basename $0) in
< meteor)
< export NODE_PATH="$DEV_BUNDLE/lib/node_modules"
< exec "$DEV_BUNDLE/bin/node" "$METEOR" "$@"
< ;;
< meteor-exec)
< export NODE_PATH="$DEV_BUNDLE/lib/node_modules:$METEOR_THIRD_PARTY:$DEV_BUNDLE/packages:$NPM_GLOBAL_PATH"
< exec "$DEV_BUNDLE/bin/node" "$@"
< ;;
< esac
---
> export NODE_PATH="$DEV_BUNDLE/lib/node_modules"
> exec …Run Code Online (Sandbox Code Playgroud) 我正在将Filepicker.io连接到我的meteor应用程序以进行文件上传.该服务有一个API密钥(当然)他们建议保密.我在github上发现了一些其他示例应用程序,其中filepicker机密在客户端代码的普通站点中.这看起来有点摇摇欲坠.即使它不在公共回购中,因为它是在客户端代码中指定的,我可以使用Javascript控制台从应用程序中获取密钥(如果我需要它).
我想知道有一种方法可以隐藏秘密以及一个应用程序(如heroku配置),这样可以很容易地保密密钥.
我目前的计划是将密钥放入数据库并锁定该模型,以便只能从服务器代码中获取.有更简单的方法吗?
谢谢你的任何指示.