日々精進

新しく学んだことを書き留めていきます

C#で書いたテストメソッドが実行されない

現象は以下。

  • テストメソッドを実装し、全てのテストを実行しても実装したテストメソッドがテストエクスプローラー上に表示されない
  • テストクラスにTextContextプロパティがあるとこの現象が発生する。

原因はTextContextプロパティがpublicでないことだった。 TextContextプロパティがあると、テストフレームワークが自動的にTextContextオブジェクトを代入してくれるようだが、 publicでないとテストフレームワーク側がアクセスできずエラーになるのが原因のように見える。 エラーメッセージなど何も出ないので気付くのに時間がかかった。。

Kindle for Androidで本をダウンロードすると「ダウンロードできません。もう一度試して下さい。」というメッセージが表示される

以下を試したがやはりだめだった。

・端末の再起動 ・Kindleの再インストール ・端末の登録解除・再登録 ・Kindleのキャッシュを消し、強制停止 ・AndroidOSの更新(OSのバージョンは7.1.1)

結局原因は以下だった。

・Kindleアプリがストレージに書き込む権限を持っていなかった  Androidの設定>アプリ>Kindle>権限>ストレージ がOFFになっていたのでONにした ・壊れたSDカードがささっていた  これは関係ないかも知れないが、Androidの通知に「SDカードは壊れています」という通知が出ていたので  SDカードを抜いて端末を再起動した。

上記によって直った。 Amazonのサポートとチャットしながら解決したけど待ち時間短いし対応良かった。 今まで受けたサポートで一番いいぐらい。さすがすぎる。

参考:

ipodtouching.info

blog.clock-up.jp

sshでログイン時に「Permission denied (publickey,gssapi-keyex,gssapi-with-mic)」エラー

色々原因が考えられるが、今回の原因は以下だった。

  • windowsのSSH Blokerサービスが起動していて、22ポートをlistenしていた
  • そのため、Bitvise ssh serverを起動しても22ポートをlistenできていなかった

SSH Blokerサービスを停止すると直った。 SSHは昔かなり苦しめられたからトラブルシュートうまくなったな。。 とりあえず繋がらないときは-vvvTオプションをつけてログを一杯出すといいと思います。

参考:

teratail.com

sinsengumi.net

System.Windows.Formsが存在しない

current directoryのパスを取得するために、 System.IO.Path.GetDirectoryName(Application.ExecutablePath); を実行しようとしたがApplicationクラスが見付からない・・となった。

その原因はSystem.Windows.Forms.dllへの参照がないこと。 プロジェクトを右クリック⇒追加⇒参照⇒検索ボックスでSystem.Windows.Formsを入力⇒System.Windows.Forms.dllにチェックをつけ、OKを押す で参照を追加したら直った。

参考:

stackoverflow.com

stackoverflow.com

VisualStudioでIntelliJのようにGitに最後にコミットしたコードからの変更箇所を表示する方法

この機能めちゃくちゃ便利なので必須だろと思ってVSで有効にする方法を調べたら、機能が無いことを知って絶望した

stackoverflow.com

が、拡張機能で実現出来た!以下をダウンロードし、インストールすると使えるようになる。

marketplace.visualstudio.com

ありがたや~

:not疑似クラスの便利な使い方

疑似クラス便利ですね。 今回は以下のようにボタンのスタイルをdisabledな時とそうでないときで分けるために使いました。

my-btn:hover[disabled] {
  color: $baseColor;
  font-weight: bold;
  background-color: $accentColor;
  border: 2px solid darken($accentColor, 7.5%);
  cursor: pointer;
}
my-btn:hover:not([disabled]) {
  color: $baseColor;
  background-color: $accentColorDarker;
  border: 2px solid darken($accentColorDarker, 7.5%);
}

my-btn:hoverを定義し、disabledなときのスタイルでそれを上書きするという方法でもやれるけど、 スタイルの上書きはやらない方が良いので上記の書き方にしました。

参考:

coliss.com

js-beautifyでHTMLをフォーマットすると大分違和感のあるフォーマットになってしまう

問題になるのは長いタグに改行を入れたとき。 以下のように、タグの属性の前に改行が入った場合、属性の前にインデントが付けられるが 閉じタグのインデントがこの属性の先頭と同じインデントになってしまう。。

                <td
                  class="fio-customer-intention-confirm-centering">
                  <div 
                    class="d-flex">
                    </div>
                  </td>

これすごい違和感あるんだけど、海外では普通なのか? 設定で回避することも出来なさそうなので使うのを諦めました。

参考: github.com