Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
次の初期化メソッドを持つクラスがあります。
def initialize(my_var) @my_var = my_var end
そして、何かをするメソッドをテストしたい@my_var
@my_var
def split @my_var.split(",") end
@my_var配列が正しく返されることをテストする前に、どうすれば変更できますか?
のアクセサがなくてもこれは可能@my_varですか?
これは正しい習慣のようには聞こえません。Rspecは、クラスとモデルのインターフェイスの動作をテストする必要があります。内部実装ではありません(インスタンス変数は間違いなくそうです)。これを行う方法はいくつかありますが、その変数のアクセサーが必要ないのは確かですか?
とにかく、変数を使用my_object.instance_variable_get("@my_var")しmy_object.instance_variable_set("@my_var", value)て操作することができます。
my_object.instance_variable_get("@my_var")
my_object.instance_variable_set("@my_var", value)
次の 2 行のコード:
System.out.println(Arrays.toString("test".split("(?<!^)"))); System.out.println(Arrays.toString("test".split("(?!^)")));
それぞれが同じ出力を生成