検索条件
お知らせ
現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。
src/@types
にwindow.d.ts
のような物を定義して使う方法。Reactに外部スクリプトを組み込んだ場合などに有用。
<script src="https://example.com/foo.js" />
みたいなやつ。
declare global {
interface Window {
dataLayer: Array<unknown>;
}
}
// これがないと他から見れない
export {};
Response | Echo
Env |
Ver |
golang |
1.15 |
echo/v4 |
4.3.0 |
type FooBar struct {
Foo int `json:"foo"`
Bar string `json:"bar"`
}
func Example(c echo.Context) error {
p := &FooBar{}
err := c.Bind(p)
if err != nil {
return c.String(500, "")
}
return c.JSON(200, p)
}
Env |
Ver |
golang |
1.15 |
echo/v4 |
4.3.0 |
type FooBar struct {
Foo int `json:"foo"`
Bar string `json:"bar"`
}
func Example(c echo.Context) error {
p := &FooBar{}
err := c.Bind(p)
if err != nil {
return c.String(500, "")
}
r := strconv.Itoa(p.Foo) + ":" + p.Bar
return c.String(200, r)
}
基本出来ないのでwindow.location.href
を操作するためのラッパーを作って、それをjest.spyOn()
して解決する
理由はjsdomが対応していないため
global.navigator
をモックにする方法
jest
のモック機能はプロパティのモックが出来ないので、実オブジェクトを強制的に書き換えて実施する
Object.defineProperty()
を利用して実装
value
, プロパティが返す値
configurable
, 再定義可能かどうか、設定しないと再実行でコケる
- 実際の使用ではユーティリティ関数を作っておき、
afterAll()
でnavigator.userAgent
を初期値に戻すのが望ましい
Object.defineProperty(global.navigator, 'userAgent', {
value:
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36',
configurable: true,
});