の私は私のコンポーネントをテストしようとしていますが、私はこのエラーを得続ける: はTypeError:プロパティを読み取ることができません「検索」未定義酵素は、APIの問題をマウント:TypeError例外:プロパティを読み取ることができません「検索」未定義
のが私のテスト私のコンポーネントをステートレスコンポーネントに変換する前に正常に動作していました。私の理解から、機能的なステートレスコンポーネントもテストできます。ここで間違っていることは私には分かりません。
私のテストファイル
import * as React from 'react';
import { LeftNavigation } from "../src/components/LeftNavigation";
import { mount } from 'enzyme';
describe("<LeftNavigation />",() => {
const wrapper;
beforeEach(() => {
wrapper = mount(
<LeftNavigation title="Protocol Vantage Points" path="/hello"/>
);
});
it("renders the title",() => {
expect(wrapper.find(".uk-h3 span").text()).toBe("Protocol Vantage Points");
});
it("renders first menu item 'On demand tests'",() => {
expect(wrapper.find("#synth-left-nav .uk-nav li a").at(0).text()).toBe("On demand tests");
});
it("renders second menu item 'Feel status'",() => {
expect(wrapper.find("#synth-left-nav .uk-nav li a").at(1).text()).toBe("Fleet status");
});
});
マイコンポーネント
import * as React from "react";
import { NavLink, Link } from 'react-router-dom';
export interface LeftNavigationProps {
title: string;
path: string;
}
export class LeftNavigationItem {
title: string;
path: string;
constructor(title: string, path: string) {
this.title = title;
this.path = path;
}
}
export const LeftNavigation: React.StatelessComponent<LeftNavigationProps> = (props: LeftNavigationProps) => {
const items: Array<LeftNavigationItem> = [
new LeftNavigationItem('On demand tests', '/ondemandtests'),
new LeftNavigationItem('Fleet status', '/fleetstatus')
];
return (
<div id="synth-left-nav" className="uk-margin-bottom">
<h1 className="uk-h3">
<span><Link id="synth-left-nav-title" to={props.path}>{props.title}</Link></span>
</h1>
<hr className="uk-width-1-1" />
<ul className="uk-nav uk-margin-remove"> {
items.map(function (m, index) {
return (
<li key={m.path}>
<NavLink activeClassName="uk-text-bold uk-active"
to={props.path + m.path} replace>{m.title}</NavLink>
</li>
);
})
}
</ul>
</div>
);
};
定数の値は、再割り当てによって変更することはできません - ラッパーを聞かせて 'てみてください;'の代わりに 'constのラッパーの;' –