ブログとかにする前の技術検証とかその辺りのメモ
Blazor WebAssemblyでNative Reference使うとなると、Native部分のテストがしたくなる。
というのもifdefとかで内部で処理を変えてることとかがあり、ランタイムでどうなるかみたいのがわからないことがあるから。
ってことでテストがしたいんだけど、今の所これと言った手法が見つからない。
dotnet/runtime とかではJSでケースを流し込んでやるみたいのをしていたはず(だいぶ前の話だけど、mono wasmあたりの実験的機能が公開された時はそんなコードがあった)。
bUnitはBlazor Serverとかのテストであれば行けるらしいんだけど、今回やりたいのはBlazor WebAssemblyだからちょい違う。
xUnitを見てみたらalphaだけどv3化が進んでいて、inprocでテストを行う様になりそうなのを観測している。
これをBlazor WebAssembly上で動作させて、puppeteerとかで回せるようにすればテストランナーとして使えそう。
inproc.consoleをそのまま使ったらAssemblyのLocationがnullになって動作しなかった。
ってことで、xunit.v3.runner.inproc.browserみたいな感じで自分でブラウザで動作するようにやってしまえばいけるんじゃないかみたいのを考えたので、今度やってみる。
NDIのカメラ、iOSだと有料かーふむーって思ってたら
こんなの見つけた。更にそれを拡張している
もあるみたい。
こんな簡単に使えるのかーという感想。
適当にカメラアプリ作って、そのバッファーをSDKに投げるだけみたいだな。
MAUIで使えるようにバインディング作ってみて遊んでみようかな。
${ProjectName}.TagHelpers.output.cache
辺りを見たら、実装したBlazor Componentのパラメータとかが見えた。
型も取れるので、ここからコード生成できそうなのでちょっと触ってみる。