我花了很长时间查看有关此问题的其他问题并查看Github上的其他项目,但似乎没有任何答案对我有用.
我正在我的项目中加载第三方库,当运行Jest测试时,我收到错误
export default portalCommunication;
^^^^^^
SyntaxError: Unexpected token export
> 1 | import portalCommunication from 'mathletics-portal-communication-service';
Run Code Online (Sandbox Code Playgroud)
我已尝试以多种方式更新我的Jest配置以使其转换此库但我总是得到相同的错误.
这是我当前的jest.config.js文件:
module.exports = {
moduleNameMapper: {
'\\.(css|scss)$': 'identity-obj-proxy',
'\\.svg$': '<rootDir>/test/mocks/svg-mock.js'
},
setupFiles: ['./test/test-setup.js'],
transformIgnorePatterns: [
'<rootDir>/node_modules/(?!mathletics-portal-communication-service)'
]
};
Run Code Online (Sandbox Code Playgroud)
我还尝试添加transform属性来对这个mathletics-portal-communication-service目录运行babel-jest.
请帮忙!
我有一个扩展Spark列表的组件,当我使用鼠标滚轮滚动时,它一次滚动太多.我试图在List类和VerticalLayout类中寻找处理鼠标滚轮滚动的处理程序来覆盖,但我找不到它.
还有其他方式我应该改变这个,或者我错过了什么?
我正在尝试扩展$log服务,以便它也向服务器发送消息.我从Angular" 循环依赖发现 "作为$http用途收到错误$log.
app.js:
angular.module("app").config(function($provide) {
$provide.decorator("$log", function($delegate, NodeLogger) {
var logFn = $delegate.log;
$delegate.log = function(message) {
NodeLogger.log(message);
logFn.apply(null, arguments);
};
});
});
Run Code Online (Sandbox Code Playgroud)
NodeLogger.js:
angular.module("app").factory("NodeLogger", function($http) {
function log(type, message) {
var logMessage = type + ":" + message;
$http.post("http://localhost:3000/log", "message=" + logMessage);
}
return {
log: log
}
});
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用$injectorin app.js来加载$http并只是发出POST请求,但它给出了同样的错误.有办法解决这个问题吗?我可以避免使用$http/ $resource?
谢谢!
我有一个Flex spark Label组件,其属性width = 125,maxDisplayedLines = 1.当文本显示太长时,这会成功截断文本,但如果涉及括号,则文本会以我不想要的方式截断.
例如,我将文本设置为"你(chinchiheather)"并显示"你(..."从不在括号中显示文本的任何部分,除非它可以显示所有部分.我更喜欢"你(chinchi ......) "而不是我给予的东西.我可以设置一些属性,以便不特别对待括号,或者有人知道其他方式吗?
谢谢 :)
是否可以在我的汇总配置中对外部使用 glob 或 regex 模式?使用此配置:
export default {
...
external: [
'prop-types',
'react',
'prettier/standalone',
'prettier/parser-babylon',
'react-syntax-highlighter/prism-light',
'react-syntax-highlighter/languages/prism/jsx',
'react-syntax-highlighter/styles/prism/tomorrow',
'react-element-to-string'
],
...
};
Run Code Online (Sandbox Code Playgroud)
我想做类似的事情:
export default {
...
external: [
'prop-types',
'react',
'prettier/**',
'react-syntax-highlighter/**',
'react-element-to-string'
],
...
};
Run Code Online (Sandbox Code Playgroud) 在我的module.run块中,它正在调用我所做的服务上的方法.在运行我的测试时,我希望它引用模拟服务而不是正在发出http请求的模拟服务.我目前正在尝试测试一个控制器,而不是实际的运行块本身 - 如何将模拟服务注入到run函数中?我尝试过使用$ provide.factory,但它似乎没有做任何事情,仍然正常加载服务.
我正在使用Jasmine来编写我的测试.
app.js
angular.module("app")
.run(function(MyService) {
MyService.log("starting app");
});
Run Code Online (Sandbox Code Playgroud)
test.js
describe("MyController", function() {
beforeEach(function() {
module(function ($provide) {
$provide.factory("MyService", { log: function(){} });
});
});
// I want module 'app' to execute its run function using injected value for MyService
beforeEach(module("app"));
beforeEach(inject(function($controller, $rootScope) {
MyController = $controller("MyController", { $scope: $rootScope.$new() });
}));
...........
});
Run Code Online (Sandbox Code Playgroud) angularjs ×2
apache-flex ×2
javascript ×2
babel-jest ×1
bundle ×1
decorator ×1
flex-spark ×1
http ×1
inject ×1
jasmine ×1
jest ×1
label ×1
list ×1
logging ×1
mocking ×1
mousewheel ×1
reactjs ×1
rollupjs ×1
scroll ×1
truncate ×1
unit-testing ×1