Ruby on rails 如何在Rails测试夹具中引用用户密码?

Ruby on rails 如何在Rails测试夹具中引用用户密码?,ruby-on-rails,testing,Ruby On Rails,Testing,这当然是问了又答,但我找不到答案 在rails中,我有一个典型的用户模型设置。不存储密码。相反,我有一个密码\u散列。我想为控制器编写一组测试,其中包括登录。因此,我需要使用典型的登录数据,username和password以编程方式登录。如何将其存储在夹具中,然后引用它?当然,我可以创建一个像 adam: username: 'adam' password_hash: '0e18f44c1fec03ec4083422cb58ba6a09ac4fb2a' 但这让我无法以编程方式引用密码

这当然是问了又答,但我找不到答案

在rails中,我有一个典型的用户模型设置。不存储密码。相反,我有一个密码\u散列。我想为控制器编写一组测试,其中包括登录。因此,我需要使用典型的登录数据,
username
password
以编程方式登录。如何将其存储在夹具中,然后引用它?当然,我可以创建一个像

adam:
  username: 'adam'
  password_hash: '0e18f44c1fec03ec4083422cb58ba6a09ac4fb2a'
但这让我无法以编程方式引用密码——只能引用密码散列。人们通常是如何做到这一点的


编辑:有人建议这个问题是重复的。可以说是的,但这个问题的答案都没有回答这个问题。那里最流行的答案是为密码键入一个文本,
'testpassword'
,这可能必须在测试中再次键入。回答这个问题的用户只是想避免他的问题。我明确地希望以编程方式引用编程到我的装置中的密码。如果这是不可能的,那么答案是不可能的。

在该问题中,询问者似乎已在密码字符串“testpassword”中编程,并计划在测试中显式键入该字符串文字。这对我来说似乎是个坏主意,但如果没有更好的方法,这是必要的。是的,我知道,这不是最佳的,但这是固定装置的缺点之一。下面是关于它的另一个角度可能是更正(对于未来的读者):使用“'testpassword”是在上面链接的问题的一个答案中提出的建议。在这个问题中,可能重复的是,询问者似乎已经在密码字符串“testpassword”中编程,并计划在他的测试中显式地键入该字符串文字。这对我来说似乎是个坏主意,但如果没有更好的方法,这是必要的。是的,我知道,这不是最佳的,但这是固定装置的缺点之一。下面是关于它的另一个角度——也许是对未来读者的更正:使用“testpassword”是对上述问题的一个答案中提出的建议。