小编mr *_*ers的帖子

使用 @testing-library/react 测试材质 ui 滑块

您好我想测试与材料的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)

testing reactjs jestjs material-ui react-testing-library

11
推荐指数
2
解决办法
4453
查看次数

在Meteor环境中运行其他节点进程?

我一直在玩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)

meteor

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

在部署Meteor应用程序时保护密钥的最佳方法是什么?

我正在将Filepicker.io连接到我的meteor应用程序以进行文件上传.该服务有一个API密钥(当然)他们建议保密.我在github上发现了一些其他示例应用程序,其中filepicker机密在客户端代码的普通站点中.这看起来有点摇摇欲坠.即使它不在公共回购中,因为它是在客户端代码中指定的,我可以使用Javascript控制台从应用程序中获取密钥(如果我需要它).

我想知道有一种方法可以隐藏秘密以及一个应用程序(如heroku配置),这样可以很容易地保密密钥.

我目前的计划是将密钥放入数据库并锁定该模型,以便只能从服务器代码中获取.有更简单的方法吗?

谢谢你的任何指示.

deployment configuration meteor

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