@zuhao @senny For this test, ```ActiveModel::SecurePassword.min_cost``` does not change at all. Therefore, I  think that the changes here are unnecessary and  would like to propose that ```ActiveModel::SecurePassword.min_cost = true``` be removed since it is being assigned in ```setup```.

Failure in the assertion would still result in  ```ActiveModel::SecurePassword.min_cost``` being ```true```.

If I am correct, it also seems like we want ```ActiveModel::SecurePassword.min_cost``` to stay as ```true``` should the assertions fail. In other words, we want the default state of ```ActiveModel::SecurePassword.min_cost = true```. As such, the following call to ```teardown``` should be removed too since there seems to be a contradiction with the intention.
```ruby
  teardown do
    ActiveModel::SecurePassword.min_cost = false
  end
```

Any thoughts? :)