testing-library / jasmine-dom Goto Github PK
View Code? Open in Web Editor NEW🦥 Custom Jasmine matchers to test the state of the DOM
License: MIT License
🦥 Custom Jasmine matchers to test the state of the DOM
License: MIT License
We have currently @types/testing-library__jasmine-dom
installed which make problematic upgrade type definitions. Since we want definitions of a version to yet to exist which means wrong definitions. There are 2 options:
I recommend the first option
Hi, sorry about this, but I can't use my forked version of your library because it has 3 vulnerabilities and I can't seem to fix them?
found 3 vulnerabilities (2 moderate, 1 high) in 1464 scanned packages
3 vulnerabilities require manual review. See the full report for details.
C:\src\jasmine-dom>npm audit fix
up to date in 8.942s
95 packages are looking for funding
run `npm fund` for details
fixed 0 of 3 vulnerabilities in 1464 scanned packages
3 vulnerabilities required manual review and could not be updated
I've tried updating kcd-scripts
but it didn't make any difference?
jasmine-dom
version: 0.0.0-semanticexpect(screen.getByText('Yes')).not.toBeChecked();
Inverted a toBeChecked
match - which failed.
Error: FAILED Expected the element input type="radio" to be checked and it isn't checked.
Message should either be:
Error: FAILED Expected the element input type="radio" not to be checked and it is.
Or:
Error: FAILED Expected the element input type="radio" checked value to match false but it was true
jasmine-dom
version: 1.3.2node
version: 14npm
(or yarn
) version: 6.14.17var your => (code) => here;
ERROR in ./node_modules/@testing-library/jasmine-dom/dist/toHaveAccessibleName.js 7:27-59
Module not found: Error: Can't resolve 'dom-accessibility-api'
import JasmineDOM from '@testing-library/jasmine-dom';
add dom-accessibility-api to dependencies
jasmine-dom
version: 1.0.3node
version: 14.15.4npm
version: 6.14.10@angular/core
version: 12.2.9typescript
version: 4.3.2jasmine-core
version: 3.8.0tsconfig.spec.json:
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "./out-tsc/spec",
"types": ["jasmine", "@testing-library/jasmine-dom"]
},
"files": ["src/test.ts", "src/polyfills.ts"],
"include": ["src/**/*.spec.ts", "src/**/*.d.ts"]
}
test.ts:
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
import 'zone.js/testing';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';
import JasmineDOM from '@testing-library/jasmine-dom/dist';
declare const require: {
context(
path: string,
deep?: boolean,
filter?: RegExp
): {
keys(): string[];
<T>(id: string): T;
};
};
// First, initialize the Angular testing environment.
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
// Then we find all the tests.
const context = require.context('./', true, /\.spec\.ts$/);
// And load the modules.
context.keys().map(context);
beforeAll(() => {
// On the Jasmine version I'm using the addMatches method is directly on the jasmine variable instead of having to call .getEnv()
jasmine.addMatchers(JasmineDOM);
});
Tried to run the tests:
npm run-script test
After the error happened, installed the types package as suggested in the error message, but the same error occurred:
npm run-script testnpm i --save-dev @types/testing-library__jasmine-dom
Error: src/test.ts:10:24 - error TS7016: Could not find a declaration file for module '@testing-library/jasmine-dom/dist'. 'C:/some-path/angular/node_modules/@testing-library
/jasmine-dom/dist/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/testing-library__jasmine-dom` if it exists or add a new declaration (.d.ts) file containing `declare module '@testing-library/jasmine-dom/dist';`
10 import JasmineDOM from '@testing-library/jasmine-dom/dist';
I couldn't make it work on an Angular 12 project by following the TypeScript instructions on the README file.
Please note that on tests.ts
I had to call jasmine.addMatchers(JasmineDOM);
without .getEnv()
as it was suggested in the README. Anyway the error happens before this line.
I also took a look at this other related issue, but couldn't find anything that could solve this.
Is there any additional configuration I need to make this work?
Thanks in advance for the support and for providing this helpful library!
I have an Angular 10 CLI project (v10.1.2). I've installed @testing-library/[email protected]
, but as I'm using Karma (configured via Angular) and Typescript, I'm not sure how to install this library!
I tried following the instructions for the latest version (v1.1.0), but while I can see the matchers on the HTMLMatchers
type in VSCode, I can't actually add the Matchers, because trying to import them with import JasmineDOM from '@testing-library/jasmine-dom';
gives an error File C:/.../node_modules/@types/testing-library__jasmine-dom/index.d.ts is not a module
.
As this is an Angular CLI project, would it actually make more sense to use a karma plugin!?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.